python程序设计现代方法_Python程序设计现代方法第10章 网络爬虫.pptx

第10章 网络爬虫爬虫爬取网页的流程抓取网页数据解析网页数据学习目标了解网络爬虫的概念及分类熟悉网络爬虫爬取网页的详细流程了解熟悉4123掌握抓取网页的过程,会使用requests抓取网页掌握掌握掌握解析网页的过程,会使用bs4解析网页数据目录10.410.310.110.510.2解析网页数据抓取网页数据网络爬虫概述实例12:龙港房地产爬虫爬虫爬取网页的流程?点击查看本节相关知识点?点击查看本节相关知识点知识架构10.3 爬取网页数据1浏览网页过程2使用requests模块抓取网页知识架构10.4 解析网页数据1网页数据结构分析2解析网页的过程和技术3使用Beautiful Soup 4解析网页数据10.1 网络爬虫概述什么是网络爬虫网络爬虫又称为网页蜘蛛、网络机器人,它是一种按照一定的规则自动地爬取万维网信息的程序或脚本。网络爬虫分类根据使用场景,网络爬虫可分为两种:通用爬虫((Scalable Web Crawler),又称全网爬虫。聚焦爬虫(Focused Crawler),又称主题网络爬虫(Topical Crawler)。10.1 网络爬虫概述1.通用爬虫将爬取对象从一些种子 URL扩充到整个Web上的网站为门户站点搜索引擎和大型Web服务提供商采集数据爬取范围和数量巨大,要求高速、高存储空间,对爬取顺序要求较低通常采用并行工作方式2.聚焦爬虫选择性地爬取与预先定义好的主题相关的页面相对节省硬件和网络资源涉及数据量小、更新快可很好地满足一些特定人群对特定领域信息的需求10.2 爬虫爬取网页的流程爬虫爬取网页的流程首先选取一些网页,将这些网页的链接地址作为种子URL。将(1)中的种子URL放入到待抓取URL队列中。爬虫从待抓取URL队列(队列先进先出)中依次读取URL,并通过DNS解析URL,把链接地址转换为网站服务器所对应的IP地址。将(3)中生成的IP地址和网页相对路径名称交给网页下载器。网页下载器将相应网页的内容下载到本地。10.2 爬虫爬取网页的流程爬虫爬取网页的流程将(5)中下载的网页存储到页面模块中,等待建立索引以及后续处理;与此同时,将已下载的网页URL放入到已抓取URL队列中,以避免重复抓取网页。从(6)中下载的网页中抽取出所有链接信息,检查其是否已被抓取,若未被抓取,将这个URL放入待抓取URL队列中。重复步骤(2)~(7),直到待抓取URL队列为空。10.3 抓取网页数据浏览网页过程通过一张图来描述浏览网页的过程,具体如图所示。10.3 抓取网页数据HTTP消息格式浏览网页的过程中,浏览器会向服务器发起HTTP请求,也会接收服务器返回的HTTP响应。HTTP是网络中用于传输HTML等超文本的应用层协议,它规定了HTTP请求消息与HTTP响应消息的格式。HTTP协议版本1.请求消息请求方式请求消息由请求行、请求头、空行和请求参数四部分组成,示例代码如下:GET / HTTP/1.1Host: User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:25.0) GeckoFirefox/25.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateConnection: keep-aliveusername=jack请求行请求头信息空行参数10.3 抓取网页数据状态码描述信息协议版本状态码2.响应消息响应由状态行、响应报头、空行和响应正文组成,示例代码如下:HTTP /1.1 200 OKServer: TengineConnection: keep-aliveDate: Wed, 30 Nov 2016 07:58:21 GMTCache-Control: no-cacheContent-Type: text/html;charset=UTF-8Keep-Alive: timeout=20Vary: Accept-EncodingPragma: no-cacheX-NWS-LOG-UUID: bd27210a-24e5-4740-8f6c-25dbafa9c395Content-Length: 180945...响应行空行响应头信息响应消息10.3 抓取网页数据使用requests模块抓取网页Python中的第三方模块requests是转为人类设计的HTTP模块,该模块支持

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值