精华内容
下载资源
问答
  • python爬取网页代码

    千次阅读 2019-11-12 14:43:07
    编辑器:vscode 环境:python3.0 代码:新建一个test.py文件 import urllib.request def grab(url): # 打开传入的网址 ... # 读取网页源码内容 data = resp.read() # 输入存储文件名 name = ...

    编辑器:vscode

    环境:python3.0

    代码:新建一个test.py文件

    import urllib.request
    
    
    def grab(url):
        # 打开传入的网址
        resp = urllib.request.urlopen(url)
        # 读取网页源码内容
        data = resp.read()
        # 输入存储文件名
        name = input("请输入文件名")
        # 打开文件
        file_name = open(name, "wb")
        # 将代码写入文件
        file_name.write(data)
        # 关闭文件
        file_name.close()
    
        print("源码爬取完成")
    
    
    if __name__ == '__main__':
        # 按照格式输入网址
        web_addr = input("请输入要抓取的网址:")
        try:
            grab(web_addr)
        except:
            print("网址有误")
    

    运行:F5

    展开全文
  • 本文实例为大家分享了python爬取网页内容转换为PDF的具体代码,供大家参考,具体内容如下 将廖雪峰的学习教程转换成PDF文件,代码只适合该网站,如果需要其他网站的教程,可靠需要进行稍微的修改。 # coding=utf-8...
  • Python 爬取网页HTML代码

    千次阅读 2016-09-29 19:43:24
    #/usr/bin/env python #-*- coding:utf-8 -*-import urllib2 import sys import chardetreq = urllib2.Request("http://tycool.top/") content = urllib2.urlopen(req).read() typeEncode = sys....
    #/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    import urllib2
    import sys
    import chardet
    
    req = urllib2.Request("http://tycool.top/")
    content = urllib2.urlopen(req).read()
    typeEncode = sys.getfilesystemencoding()##系统默认编码
    infoencode = chardet.detect(content).get('encoding','utf-8')##通过第3方模块来自动提取网页的编码
    html = content.decode(infoencode,'ignore').encode(typeEncode)##先转换成unicode编码,然后转换系统编码输出
    print html
    展开全文
  • 利用Python爬取网页内容

    千次阅读 多人点赞 2021-03-17 19:34:54
    一、爬取简单的网页? 1、打开cmd 2、安装requests模块,输入pip install requests 3、新建一个.py文件,我们以https://www.bqkan.com这个网站为例,以下是爬取斗罗大陆的网页 import requests # 导入requests包 ...

    一、爬取简单的网页

    1、打开cmd
    2、安装requests模块,输入pip install requests
    在这里插入图片描述
    3、新建一个.py文件,我们以https://www.bqkan.com这个网站为例,以下是爬取斗罗大陆的网页

    import requests  # 导入requests包
    
    url = 'https://www.bqkan.com/3_3026/1343656.html'
    strHtml = requests.get(url)  # Get方式获取网页数据
    html = strHtml.text
    print(html)
    

    二、爬取小说的某一章节

    1、打开cmd,安装Beautiful Soup,输入pip install beautifulsoup4
    2、对爬取出来的数据进行数据清洗,代码如下:

    # 爬虫爬取网页
    import requests  # 导入requests包
    from bs4 import BeautifulSoup
    
    url = 'https://www.bqkan.com/3_3026/1343656.html'
    strHtml = requests.get(url)  # Get方式获取网页数据
    html = strHtml.text
    bf = BeautifulSoup(html,"html.parser")
    texts = bf.find_all('div', class_='showtxt')
    print(texts[0].text.replace('\xa0'*8,'\n\n'))
    

    三、爬取整本小说

    以斗罗大陆 URL=https://www.bqkan.com/3_3026/为例:
    1、打开审查元素 F12,我们发现这些章节都存在于div标签下的class属性为listmain中,并且都是通过和https://www.bqkan.com/3_3026进行拼接的网址:
    在这里插入图片描述
    2、于是,我们修改原有代码,如下图所示,就可以获得所有章节的href中的地址:

    import requests  # 导入requests包
    from bs4 import BeautifulSoup
    
    url = 'https://www.bqkan.com/3_3026'
    strHtml = requests.get(url)  # Get方式获取网页数据
    html = strHtml.text
    bf = BeautifulSoup(html,"html.parser")
    div = bf.find_all('div', class_='listmain')
    print(div[0])
    

    3、通过Beautiful Soup对数据进行清洗,获得每个章节的完整链接,代码如下:

    import requests  # 导入requests包
    from bs4 import BeautifulSoup
    
    source = "https://www.bqkan.com/"
    url = 'https://www.bqkan.com/3_3026'
    strHtml = requests.get(url)  # Get方式获取网页数据
    html = strHtml.text
    bf = BeautifulSoup(html, "html.parser")
    div = bf.find_all('div', class_='listmain')
    a_bf = BeautifulSoup(str(div[0]), "html.parser")
    a = a_bf.find_all("a")
    for item in a:
        print(item.string, source + item.get("href"))
    

    4、获得到了每一章的完整链接,于是我们可以对该小说进行完整下载了,代码如下:

    from bs4 import BeautifulSoup
    import requests
    
    
    class downloader(object):
    
        # 初始化
        def __init__(self):
            self.server = 'http://www.biqukan.com'
            self.target = 'https://www.bqkan.com/3_3026'
            self.names = []  # 存放章节名
            self.urls = []  # 存放章节链接
            self.nums = 0  # 章节数
    
        # 获取完整章节地址
        def get_download_url(self):
            req = requests.get(url=self.target)
            html = req.text
            div_bf = BeautifulSoup(html, "html.parser")
            div = div_bf.find_all('div', class_='listmain')
            a_bf = BeautifulSoup(str(div[0]), "html.parser")
            a = a_bf.find_all("a")
            self.nums = len(a)  # 统计章节数
            for each in a:
                print(each.string,self.server + each.get('href'))
                self.names.append(each.string)
                self.urls.append(self.server + each.get('href'))
    
        # 获取对应链接的地址
        def get_contents(self, target):
            req = requests.get(url=target)
            html = req.text
            bf = BeautifulSoup(html, "html.parser")
            texts = bf.find_all('div', class_='showtxt')
            texts = texts[0].text.replace('\xa0' * 8, '\n\n')
            return texts
    
        # 将内容写入磁盘中
        def writer(self, name, path, text):
            write_flag = True
            with open(path, 'w', encoding='utf-8') as f:
                f.write(name + '\n')
                f.writelines(text)
                f.write('\n\n')
    
    
    if __name__ == "__main__":
        dl = downloader()
        dl.get_download_url()
        print('《斗罗大陆》开始下载:')
        for i in range(dl.nums):
            print("正在下载=>", dl.names[i])
            dl.writer(dl.names[i], 'E:\\斗罗大陆\\' + dl.names[i] + '.txt', dl.get_contents(dl.urls[i]))
        print('《斗罗大陆》下载完成!')
    

    5、运行结果如图所示:在这里插入图片描述

    展开全文
  • Python爬取网页数据

    万次阅读 多人点赞 2018-08-29 17:20:35
    都说python爬网页数据方便,我们今天就来试试,python爬取数据到底有多方便 简介 爬取数据,基本都是通过网页的URL得到这个网页的源代码,根据源代码筛选出需要的信息 准备 IDE:pyCharm 库:requests、...

    都说python爬网页数据方便,我们今天就来试试,python爬取数据到底有多方便


    简介

    爬取数据,基本都是通过网页的URL得到这个网页的源代码,根据源代码筛选出需要的信息

    准备

    IDE:pyCharm
    库:requestslxml

    大概介绍一下,这俩库主要为我们做什么服务的
    requests:获取网页源代码
    lxml:得到网页源代码中的指定数据

    言简意赅有没有 ^_^

    搭建环境

    这里的搭建环境,可不是搭建python的开发环境,这里的搭建环境是指,我们使用pycharm新建一个python项目,然后弄好requests和lxml
    新建一个项目:

    光溜溜的啥也没有,新建个src文件夹再在里面直接新建一个Test.py吧

    依赖库导入
    我们不是说要使用requests吗,来吧
    由于我们使用的是pycharm,所以我们导入这两个库就会显的格外简单,如图:
    这里写图片描述
    Test.py中输入:

    import requests

    这个时候,requests会报红线,这时候,我们将光标对准requests,按快捷键:alt + enter,pycharm会给出解决之道,这时候,选择install package requests,pycharm就会自动为我们安装了,我们只需要稍等片刻,这个库就安装好了。lxml的安装方式同理.

    将这两个库安装完毕后,编译器就不会报红线了

    接下来进入快乐的爬虫时间

    获取网页源代码

    之前我就说过,requests可以很方便的让我们得到网页的源代码
    网页就拿我的博客地址举例好了:https://blog.csdn.net/it_xf?viewmode=contents
    获取源码:

    # 获取源码
    html = requests.get("https://blog.csdn.net/it_xf?viewmode=contents")
    # 打印源码
    print html.text

    代码就是这么简单,这个html.text便是这个URL的源码

    获取指定数据

    现在我们已经得到网页源码了,这时就需要用到lxml来来筛选出我们所需要的信息
    这里我就以得到我博客列表为例

    首先我们需要分析一下源码,我这里使用的是chrome浏览器,所以右键检查,便是这样一份画面:
    这里写图片描述
    然后在源代码中,定位找到第一篇
    像这样?
    这里写图片描述
    操作太快看不清是不是?
    我这里解释一下,首先点击源码页右上角的箭头,然后在网页内容中选中文章标题,这个时候,源码会定位到标题这里,
    这时候选中源码的标题元素,右键复制如图:

    得到xpath,嘿嘿,知道这是什么吗,这个东西相当于地址。比如网页某长图片在源码中的位置,我们不是复制了吗,粘贴出来看看长啥样

    //*[@id="mainBox"]/main/div[2]/div[1]/h4/a

    这里给你解释解释:

    // 定位根节点
    / 往下层寻找
    提取文本内容:/text()
    提取属性内容:/@xxxx

    后面两个我们还没有在这个表达式见过,待会说,先摆张图放出来

    表达式://*[@id="mainBox"]/main/div[2]/div[1]/h4/a
    我们来琢磨琢磨,首先,//表示根节点,也就是说啊,这//后面的东西为根,则说明只有一个啊
    也就是说,我们需要的东西,在这里面
    然后/表示往下层寻找,根据图片,也显而易见,div -> main -> div[2] -> div[1] -> h4 -> a
    追踪到a这里,我想,你们应该也就看得懂了,然后我们在后面加个/text,表示要把元素的内容提取出来,所以我们最终的表达式长这样:

    //*[@id="mainBox"]/main/div[2]/div[1]/h4/a/text()

    这个表达式只针对这个网页的这个元素,不难理解吧?
    那么这个东西怎么用呢?
    所有代码:

    import requests
    from lxml import etree
    
    html = requests.get("https://blog.csdn.net/it_xf?viewmode=contents")
    # print html.text
    
    etree_html = etree.HTML(html.text)
    content = etree_html.xpath('//*[@id="mainBox"]/main/div[2]/div[1]/h4/a/text()')
    for each in content:
        print(each)

    这时候,each里面的数据就是我们想要得到的数据了
    打印结果:

    
    
    
            如何撸一个ArrayList      
    
    

    打印结果却是这个结果,我们把换行和空格去掉

    import requests
    from lxml import etree
    
    html = requests.get("https://blog.csdn.net/it_xf?viewmode=contents")
    # print html.text
    
    etree_html = etree.HTML(html.text)
    content = etree_html.xpath('//*[@id="mainBox"]/main/div[2]/div[1]/h4/a/text()')
    
    for each in content:
        replace = each.replace('\n', '').replace(' ', '')
        if replace == '\n' or replace == '':
            continue
        else:
            print(replace)
    

    打印结果:

    如何撸一个ArrayList 

    相当nice,那么,如果我们要得到所有的博客列表呢
    看图看表达式分析大法

    表达式://*[@id="mainBox"]/main/div[2]/div[1]/h4/a/text()
    其实我们能够很容易发现,main->div[2]其实包含所有文章,只是我们取了main->div[2]->div[1],也就是说我们只是取了第一个而已。所以,其实表达式写出这样,就可以得到所有的文章了

    //*[@id="mainBox"]/main/div[2]/div/h4/a/text()

    再来一次:

    import requests
    from lxml import etree
    
    html = requests.get("https://blog.csdn.net/it_xf?viewmode=contents")
    # print html.text
    
    etree_html = etree.HTML(html.text)
    content = etree_html.xpath('//*[@id="mainBox"]/main/div[2]/div/h4/a/text()')
    
    for each in content:
        replace = each.replace('\n', '').replace(' ', '')
        if replace == '\n' or replace == '':
            continue
        else:
            print(replace)
    
    

    打印结果:

    如何撸一个ArrayList
    Android相机屏幕适配
    Tinker关于clean后准基包消失的解决方案
    Tinker使用指南
    git分支的使用
    如何将Androidstudio中的项目导入到第三方的git托管库中
    遍历矩阵
    从矩阵中取出子矩阵
    AndroidStudio配置OpenCV
    一步一步了解handler机制
    Android常用框架
    Android绘制波浪线
    RxJava系列教程之线程篇(五)
    RxJava系列教程之过滤篇(四)
    RxJava系列教程之变换篇(三)
    RxJava系列教程之创建篇(二)
    RxJava系列教程之介绍篇(一)
    一个例子让你彻底理解java接口回调
    SharedPreferences的用法及指南
    异步加载网络图片带进度
    VideoView加载闪黑屏
    android视频播放vitamio的简单运用
    仿网易新闻分类刷新
    ListViewCheckBox简单实现批量删除
    Android如何高效加载大图
    Android聊天界面实现方式
    抽屉侧滑菜单Drawerlayout-基本使用方法
    android-引导页的实现方式
    Java设计模式--工厂模式的自述
    javaweb学习路线
    getWindow().setFlags()使用说明书
    歪解Activity生命周期-----初学者彻底理解指南

    相当nice,我们得到了所有的文章列表。

    总结

    我们用到了requests获取网页列表,用lxml筛选数据,可以看出python用来在网页上爬取数据确实方便不少,chrome也支持直接在源码中得到表达式xpath,这两个库的内容肯定不止这一点点,还有很多功能等着你们去挖掘。对了,其中在写这篇博客的同时,我发现了一个很重要的问题:我的文章写的太少啦!【逃】

    展开全文
  • python爬取网页代码框架

    千次阅读 2017-03-12 01:01:16
    python爬取网页代码框架import requestsdef getHTMLText(url): try: r = request.get(url,timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text excep
  • 5、存储完成后,就可以在没有联网的情况下,也能在本地打开该网页 import urllib.request def getHtml(url): h = urllib.request.urlopen(url).read() return h def saveHtml(file_name,file_content): # 注意...
  • python 爬取网页的通用代码框架

    千次阅读 2018-10-06 16:19:43
    它可以准确的 可靠的爬取网页上的内容。 但是这样的语句不是一定成立的,因为网络连接有风险。 常见的异常有: 而raise_for_status方法可以返回所引发的httperror异常。 爬取网页的框架代码如下: import ...
  • python 爬取网页.docx

    2019-09-20 10:37:10
    python爬取整个网页内容,新手步骤,每一步代码都有,也有操作截图
  • 2.分析目标网页的标签 3.熟悉标签结构 4.导入第三方库 5.代码实现 ''' import requests from bs4 import BeautifulSoup #要爬取的网址 url = 'https://www.biqukan.com/78_78176/523395010.html' #1.发起请求 ...
  • 关于python爬取网页

    千次阅读 多人点赞 2021-03-06 18:59:20
    之前在网上也写了不少关于爬虫爬取网页代码,最近还是想把写的爬虫记录一下,方便大家使用吧! 代码一共分为4部分: 第一部分:找一个网站。 我这里还是找了一个比较简单的网站,就是大家都知道的...
  • 文章目录Python - Python 简单爬取网页内容1、安装bs4 模块2、编写请求3、编写运行代码4、结构 Python - Python 简单爬取网页内容 1、安装bs4 模块 2、编写请求 import requests from bs4 import BeautifulSoup ...
  • Python 爬取网页内容,转成PDF

    千次阅读 2017-05-03 13:59:07
    将廖雪峰的学习教程转换成PDF文件,代码只适合该网站,如果需要其他网站的教程,可靠需要进行稍微的修改。# coding=utf-8 import os import re import time import pdfkit import requests from bs4 import ...
  • Python 爬取网页并存储至本地

    千次阅读 2019-06-29 15:31:25
    使用Python爬取网页,并将该网页存储至本地目录。 注:本文爬取的是网易新浪的一个网页。 代码如下: import urllib.request def getHTML(url): html = urllib.request.urlopen(url).read() return ...
  • Python爬取简单网页内容 分享一下第一次学习爬虫的过程。之前一直有听说过爬虫,但是也没有接触过爬虫。在需要爬取网页信息的时候,才开始着手学习爬虫。Python爬虫有很多种方法,例如使用scrapy,xpath,panda等,都...
  • Python爬取网页信息的步骤 以爬取英文名字网站(https://nameberry.com/)中每个名字的评论内容,包括英文名,用户名,评论的时间和评论的内容为例。 1、确认网址 在浏览器中输入初始网址,逐层查找链接,直到找到...
  • 使用python爬取网页源码 1.安装requests和beautiful soup库 2.爬取的代码如下: import requests//引入requests库+ r=requests.get(“http://y30800i740.eicp.vip/”)//加载所要爬取的页面 r.encoding=‘utf-8’ ...
  • python爬取视频源代码

    2019-03-19 11:25:07
    利用python中的re和requests模块,实现对网站中的视频进行爬取,对于图片和文字的爬取也是同样的原理,重点是学会就网页html标签的正确正则就能获取到我们需要的数据,这里是用的单线程爬取
  • Python爬取网页的所有内外链

    千次阅读 多人点赞 2021-04-07 16:35:49
    Python爬虫,爬取网页的所有内外链项目介绍代码大纲网站详情代码详情队列内链外链请求头完整代码爬取结果 项目介绍 采用广度优先搜索方法获取一个网站上的所有外链。 首先,我们进入一个网页,获取网页的所有内链...
  • Python爬取网页所有小说

    千次阅读 2018-11-11 19:21:21
    Python爬取网页所有小说 python 2.7.15 练习beautifulsoup的使用 不了解bs的可以先看一下这个bs文档 一、看URL的规律 因为是要爬取网页上所有的小说,所以不仅要获取网页的URL,还要获取网页里的连接们的URL。...
  • python爬取网页信息

    千次阅读 2015-11-09 22:30:36
    最近在学习python,发现通过python爬取网页信息确实方便,以前用C++写了个简单的爬虫,爬取指定网页的信息,代码随便一写都几百行,而要用python完成相同的工作,代码量相当少。前几天看到了一个博客上讲解如何使用...
  • python爬虫教程:实例讲解Python爬取网页数据

    万次阅读 多人点赞 2020-03-04 21:59:46
    这篇文章给大家通过实例讲解了Python爬取网页数据的步骤以及操作过程,有兴趣的朋友跟着学习下吧。 一、利用webbrowser.open()打开一个网站: >>> import webbrowser >>> webbrowser.open('...
  • 利用python爬取网页图片

    千次阅读 2017-04-06 11:09:49
    学习python爬取网页图片的时候,对于屌丝男士来说,可以通过这个工具去批量下载你想要的美女图片,哈哈,楼主只是在练习爬取网页图片的时候,顺便爬取美女的照片哦 开始正题: 我从尤物网去爬取我喜欢的女神的...
  • 关于python爬取网页上指定内容

    千次阅读 2017-07-28 15:30:12
    最近刚开始接触python,主要是最近工作是关于爬虫方面的。 这是自己爬的一个猪八戒网站上面的店铺的链接。因为没接触过python,所以...在这里,我感觉最重要的就是关于网页代码指定信息标签的获取了,因为一直抓
  • 实例:使用脚本打开一个网页。 所有Python程序的第一行都应以#!python开头,它告诉计算机想让Python来执行这个程序。(我没带这行试了试,也可以,可能这是一种规范吧) 1.从sys.argv读取命令行参数:打开一个新的...
  • python3代码,包含了处理post请求爬取网页数据代码,注释部分包括对json数据的处理。如果有疑问,随时扣me *-*
  • python爬取淘宝网页

    2017-05-03 09:17:59
    python爬取淘宝网页
  • 完成对王者荣耀游戏的所有英雄头像、皮肤等数据的内容爬取及图片下载,所涉及到的模块内容有requests、json、lxml、selenium、os等。王者荣耀英雄官网地址如下:https://pvp.qq.com/web201605/herolist.shtml 方法与...
  • 没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将...下面这篇文章主要给大家介绍了利用Python3.6爬取搜狗图片网页中图片的相关资料,需要的朋友可以参考下。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,091
精华内容 17,636
关键字:

python爬取网页内容代码

python 订阅