《Python网络爬虫技术案例教程》PPT课件(共10单元)八单元爬虫框架Scrapy.pptxVIP

《Python网络爬虫技术案例教程》PPT课件(共10单元)八单元爬虫框架Scrapy.pptx

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
爬虫框架Scrapy第8章本章导读虽然利用前面所学知识也可以实现爬虫的全部流程,但是当遇到需要爬取的网页较多、数据量较大时,使用框架可以让爬虫程序更强大、更高效。本章从网络爬虫框架Scrapy的构成入手,介绍Scrapy的应用方法,包括如何创建项目、修改items脚本、创建spider脚本、修改settings脚本、运行爬虫程序、修改pipelines脚本和定制Middleware等内容。第8章学习目标理解Scrapy框架的构成。掌握使用Scrapy框架创建爬虫程序获取所需数据的方法。能使用Scrapy框架编写爬虫程序爬取网站数据。目录CONTENT018.1 Scrapy框架028.2 Scrapy应用8.1 Scrapy框架图8-1 Scrapy框架Scrapy是目前Python中使用最广泛的爬虫框架,用于爬取网站数据,提取结构性的数据。简单来说,Scrapy是一个半成品,相关扩展组件多,可配置和可扩展程度非常高,可以帮助用户简单快速地实现一个网络爬虫。Scrapy框架由7个组件构成,如图8-1所示:8.1 Scrapy框架组件功能Engine(引擎)负责处理系统的数据流、触发事务,是整个框架的核心Scheduler(调度器)负责处理所有的Request,并按照一定的方式将其进行整理、排列和入队。此外,Scheduler可以自动去除重复的URL,如果特定Request的URL不需要去重也可以通过设置实现,如POST请求Downloader(下载器)负责下载网页内容Spider负责解析所有的Response,提取Item所需的数据和新的URL。用户可以在一个项目中编写多个Spider,每个负责处理一个特定(或一些)网站Item Pipeline(项目管道)负责处理Item,常见的处理有清理、验证和存储数据等Downloader Middleware(下载中间件)位于Engine和Downloader之间,可以自定义扩展下载功能,如自动更换User-Angent、设置代理IP等Spider Middleware(Spider中间件)位于Engine和Spider之间,可以自定义扩展Engine和Spider间通信的功能8.1 Scrapy框架(1)Engine从Spider获取初始爬取列表的Request。(2)Engine将要爬取的Request发送给Scheduler,通过Scheduler进行调度。(3)Engine向Scheduler获取下一个要爬取的Request。(4)Engine将Request通过Downloader Middleware发送给Downloader。(5)当网页下载完毕,Downloader生成该网页的Response,并将其通过Downloader Middleware提交给Engine。(8)Engine将Item发送给Item Pipeline,将新的Request发送给Scheduler。(7)Spider解析响应,提取Item所需的数据和新的URL,并将Item和新的Request通过Spider Middleware提交给Engine。(6)Engine将接收到Response通过Spider Middleware发送给Spider处理。(9)重复第(2)~(8)步,直到Scheduler中没有Request,Engine关闭该爬虫程序,爬取结束。在Scrapy中由Engine控制数据流,其工作的基本步骤如下:8.2 Scrapy应用Scrapy应用Python提供scrapy库实现Scrapy爬虫框架,scrapy库不是Python内置的标准库,使用之前需要安装,安装方法与requests库的安装类似(请参考2.3.2节),此处不再赘述。本节以创建BaiduSpider项目为例,介绍使用Scrapy框架编写爬虫程序的过程。8.2 Scrapy应用8.2.1 创建项目scrapy库提供了startproject命令用于创建一个爬虫项目,其语法格式如下:scrapy startproject project_name [project_dir](1)project_name:表示创建的爬虫项目名称。(2)project_dir:表示存放爬虫项目的路径。指定该参数后,会在project_dir目录下生成一个名为project_name的文件夹;如果不指定该参数,则将在命令执行路径下生成。8.2 Scrapy应用项目目录结构图8-2 创建“BaiduSpider”爬虫项目8.2.1 创建项目Scrapy的命令须通过命令行运行,在PyCharm中,可以通过Terminal窗口来运行。例如,在“D:\PycharmProjects\第8章”下,创建一个名为“BaiduS

您可能关注的文档

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档