Python爬虫框架Scrapy入门.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python爬⾍框架Scrapy⼊门 Python爬⾍框架 Scrapy⼊门 ⼀、爬⾍定义 ⽹络爬⾍(Web crawler),是⼀种按照⼀定的规则,⾃动地抓取万维⽹信息的程序或者脚本,它们被⼴泛⽤于互联⽹搜索引擎或其他类似 ⽹站,可以⾃动采集所有其能够访问到的页⾯,以获取这些⽹站的内容。 从功能上来讲,爬⾍⼀般分为数据采集,处理,储存三个部分。传统爬⾍从⼀个或若⼲初始⽹页的URL开始,获得初始⽹页上的URL,在抓 取⽹页的过程中,不断从当前页⾯上抽取新的URL放⼊队列,直到满⾜系统的⼀定停⽌条件。 ⼆、所需知识 需要的知识有:linux系统 + Python语⾔ +Scrapy框架 + XPath(XML路径语⾔) + ⼀些辅助⼯具 (浏览器的开发者⼯具和XPath helper插件)。 我们的爬⾍是使⽤Python语⾔的Scrapy爬⾍框架开发,在linux上运⾏,所以需要熟练掌握Python语⾔和Scrapy框架以及linux操作系统 的基本知识。 我们需要使⽤XPath从 ⽬标HTML页⾯中提取我们想要的东西,包括汉语⽂字段落和“下⼀页”的链接等。 浏览器的开发者⼯具是编写爬⾍主要使⽤的辅助⼯具。使⽤该⼯具可以分析页⾯链接的规律,可以⽤来定位HTML页⾯中想要提取的元素, 然后提取其XPath表达式⽤于爬⾍代码中,还可以查看页⾯请求头的Referer、Cookie等信息。如果爬取的 ⽬标是动态⽹站,该⼯具还可以 分析出背后的JavaScript请求。 XPath helper插件是chrome的⼀个插件,基于chrome核的浏览器也可以安装。XPath helper可以⽤来调试XPath表达式。 三、环境搭建 安装Scrapy可以使⽤pip命令 :pip install Scrapy Scrapy相关依赖较多,因此在安装过程中可能遇到如下问题 : ImportError: No module named w3lib.http   解决 :pip install w3lib ImportError: No module named twisted 解决 :pip install twisted ImportError: No module named lxml.HTML 解决 :pip install lxml error: libxml/xmlversion.h: No such file or directory 解决 :apt-get install libxml2-dev libxslt-dev     apt-get install Python-lxml ImportError: No module named cssselect 解决 :pip install cssselect ImportError: No module named OpenSSL 解决:pip install pyOpenSSL 或者使⽤简单的⽅法:使⽤anaconda安装。 四、Scrapy框架 1. Scrapy简介 Scrapy是⼤名⿍⿍的爬⾍框架,是使⽤Python编写的。Scrapy可以很⽅便的进⾏web抓取,并且也可以很⽅便的根据⾃⼰的需求进⾏定 制。 Scrapy整体架构⼤致如下: 2. Scrapy组件 Scrapy主要包括了以下组件: 引擎(Scrapy) ⽤来处理整个系统的数据流,触发事务(框架核⼼)。 调度器(Scheduler) ⽤来接受引擎发过来的请求,压⼊队列中, 并在引擎再次请求的时候返回. 可以想像成⼀个URL(抓取⽹页的⽹址或者说是链接)的优先队列, 由它来决定下⼀个要抓取的⽹址是什么, 同时去除重复的⽹址。 下载器(Downloader) ⽤于下载⽹页内容, 并将⽹页内容返回给蜘蛛(Scrapy下载器是建⽴在twisted这个⾼效的异步模型上的) 。 爬⾍(Spiders) 爬⾍是主要⼲活的, ⽤于从特定的⽹页中提取⾃⼰需要的信息, 即所谓的实体(Item)。⽤户也可以从中提取出链接,让Scrapy继续抓取下⼀个 页⾯。 项⽬管道(Pipeline) 负责处理爬⾍从⽹页中抽取的实体,主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。当页⾯被爬⾍解析后,将被发送到 项⽬管道,并经过⼏个特定的次序处理数据。 下载器中间件(Downloader Middlewares) 位于S

文档评论(0)

166****9220 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档