大数据采集与爬虫课件任务8使用Scrapy爬虫框架采集数据—爬取汽车之家数据8.1-8.3.pptxVIP

大数据采集与爬虫课件任务8使用Scrapy爬虫框架采集数据—爬取汽车之家数据8.1-8.3.pptx

  1. 1、本文档共12页,可阅读全部内容。
  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文档。上传文档
查看更多

任务8 使用Scrapy爬虫框架采集数据——爬取汽车之家数据 ;本章学习目标

了解Scrapy爬虫框架的工作原理

了解Scrapy爬虫框架的安装过程以及各组件的基本含义和用法

掌握Scrapy爬虫框架采集数据的实例;Scrapy引擎是控制整个系统的数据处理流程,触发事务处理流程,负责串联各个模块,还有Scheduler(调度器),Downloader(下载器),Spiders(蜘蛛),ItemPipeline(项目管道),Middlewares(中间件)等组键,Scrapy爬虫框架可以很方便的完成网上数据的采集工作,简单轻巧,使用起来非常方便。;8.1任务描述;8.2.1Scrapy的概述

Scrapy是一个用于抓取web站点和提取结构化数据的应用框架,可用于数据挖掘、信息处理或历史档案等广泛的应用。虽然Scrapy设计的初衷是服务于网页数据抽取,但是它也能够使用APIs抽取数据或者作为一种通用目的网络爬虫使用。

Scrapy的一个主要优点:请求是异步调度和处理的。这意味着Scrapy不需要等待一个请求完成和处理,它可以同时发送另一个请求或做其他事情。这也意味着,即使某些请求失败或在处理它时发生错误,其他请求也可以继续运行。

虽然这使您能够非常快速地爬取数据(同时以容错的方式发送多个并发请求),但Scrapy还可以通过一些更为友好地方式设置控制爬取的程度。您可以在每个请求之间设置下载延迟,限制每个域或每个IP的并发请求数量,甚至可以使用自动调整扩展来计算这些请求。;8.2.2Scrapy的工作原理;Spider打开某网页,获取到一个或者多个Requests,经由ScrapyEngine传送给调度器Scheduler。如果Request特别多并且速度特别快会在Scheduler形成请求队列queue,由Scheduler安排执行

Schelduler会按照一定的次序取出请求,经由引擎,下载器中间件,发送给下载器Dowmloader。这里的下载器中间件是设定在请求执行前,因此可以设定代理,请求头,Cookie等

下载下来的网页数据再次经过下载器中间件,经过引擎,经过爬虫中间件传送给爬虫Spiders。这里的下载器中间件是设定在请求执行后,因此可以修改请求的结果。这里的爬虫中间件是设定在数据或者请求到达爬虫之前,与下载器中间件有类似的功能。

由爬虫Spider对下载下来的数据进行解析,按照Item设定的数据结构经由爬虫中间件,引擎发送给项目管道Itempipeline。这里的项目管道Itempipeline可以对数据进行进一步的清洗,存储等操作。这里爬虫极有可能从数据中解析到进一步的请求Request,它会把请求经由引擎重新发送给调度器Scheduler,调度器循环执行上述操作。

项目管道Itempipeline管理着最后的输出,如输出到数据库中。;Scrapy在Python(默认Python实现)和PyPy(从PyPy5.9开始)下运行于Python2.7和Python3.4或以上。

如果您正在使用Anaconda或Miniconda,您可以从conda-forge通道安装包,该通道具有最新的Linux、Windows和OSX包。

使用conda命令安装Scrapy

condainstall-cconda-forgescrapy

或者,如果您已经熟悉Python包的安装,您可以通过以下方式从PyPI安装Scrapy及其依赖项pipinstallScrapy。

请注意,有时这可能需要根据您的操作系统解决一些Scrapy依赖项的编译问题,因此请务必检查特定于平台的安装说明。

在此,强烈建议读者在专用的virtualenv中安装Scrapy,以避免与系统包发生冲突。在conda中可以建立多个虚拟环境,用于隔离不同项目所需的不同版本的工具包,以防止版本上的冲突。对纠结于Python版本的同学们,也可以建立Python2和Python3两个环境,来分别运行不同版本的Python代码。;虽然可以使用pip在Windows上安装Scrapy,但是建议您安装Anaconda或Miniconda,并使用来自conda-forge通道的包,这样可以避免大多数安装问题。

condainstall-cconda-forgescrapy

由于Scrapy是用纯Python编写的,它依赖于几个关键的Python包,因此您使用PyPI安装Scrapy及其依赖项,您需要安装以下内容:

lx

文档评论(0)

leet1201 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档