教案 Ch9.更强大的爬虫.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
标注 字体使用 行距 背景图片出处 声明 英文 Microsoft YaHei 中文 微软雅黑 正文 1.3 本网站所提供的任何信息内容(包括但不限于 PPT 模板、Word 文档、Excel 图表、图片素材等)均受《中华人民共和国著作权法》、《信息网络传播权保护条例》及其他适用的法律法规的保护,未经权利人书面明确授权,信息内容的任何部分(包括图片或图表)不得被全部或部分的复制、传播、销售,否则将承担法律责任。 OfficePLUS 背景图片素材 OfficePLUS 点击Logo获取更多优质模板(放映模式) 更强大的爬虫 第9章 更强大的爬虫 Add Text 点击此处添加标题 爬虫框架 网站反爬虫 多进程与分布式 目录 更强大的爬虫 1. 爬虫框架 Scrapy 更强大的爬虫 1. 爬虫框架 Scrapy的组件 引擎(Scrapy): 用来处理整个系统的数据流处理, 触发事务,是框架的核心 调度器(Scheduler): 用来接受引擎发过来的请求, 将请求放入队列中, 并在引擎再次请求的时候返回。它决定下一个要抓取的网址, 同时担负着网址去重这一重要工作。 下载器(Downloader): 用于下载网页内容, 并将网页内容返回给爬虫。下载器的基础是twisted,一个Python网络引擎框架。 爬虫(Spiders): 用于从特定的网页中提取自己需要的信息, 即Scrapy中所谓的实体(Item)。也可以从中提取出链接,让Scrapy继续抓取下一个页面 管道(Pipeline): 负责处理爬虫从网页中抽取的实体,主要的功能是持久化信息、验证实体的有效性、清洗信息等。当页面被爬虫解析后,将被发送到管道,并经过特定的程序来处理数据。 下载器中间件(Downloader Middlewares): Scrapy引擎和下载器之间的框架,主要是处理Scrapy引擎与下载器之间的请求及响应。 爬虫中间件(Spider Middlewares): Scrapy引擎和爬虫之间的框架,主要工作是处理爬虫的响应输入和请求输出。 调度中间件(Scheduler Middewares): Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应。 更强大的爬虫 1. 爬虫框架 Scrapy的工作流程 第一步,引擎打开一个网站,找到处理该网站的爬虫(spider),并向该spider请求第一个要爬取的url。第二步,引擎从spider中获取到第一个要爬取的url并在调度器(scheduler)中以requests调度。然后,引擎向调度器请求下一个要爬取的url。第四步,调度器返回下一个要爬取的url给引擎,引擎将url通过下载器中间件转发给下载器(Downloader)。 一旦页面下载完毕,下载器会生成一个该页面的responses,并将其通过下载器中间件发送给引擎。引擎从下载器中接收到responses并通过spider中间件(Spider Middlewares)发送给spider处理。之后spider处理responses并返回爬取到的Item及发送(跟进的)新的resquests给引擎。引擎将爬取到的Item传递给Item Pipeline,将(spider返回的)requests传递给调度器。重复以上从第二步开始的过程直到调度器中没有更多的request,最终引擎关闭网站 更强大的爬虫 1. 爬虫框架 pip install scrapy 创建Scrapy项目 Item Pipeline # -*- coding: utf-8 -*- # Define here the models for your scraped items # # See documentation in: # /en/latest/topics/items.html import scrapy class NewcrawlerItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() pass 更强大的爬虫 1. 爬虫框架 定制Item类与DoubanSpider class TextItem(scrapy.Item): # define the fields for your item here like: text = scrapy.Field() # -*- coding: utf-8 -*- import scrapy from scrapy.selector import Selector from ..items import Text

文档评论(0)

188****2864 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档