scrapy框架组件

scrapy框架几大组件介绍

scrapy是一个爬虫框架,有着非常健全的管理系统,重要的是它支持分布式。

1.引擎(scrapy engine):负责爬虫(spiders)、管道(itemPipline)、下载器(downloader)、调度器(scheduler)各个部分的通讯,信息、信号、数据等的传递。

2.调度器(scheduler):负责接收引擎发过来的requests请求,并按一定的方法进行整理排列,等待引擎什么时候想要的时候交给引擎。

3.爬虫(spiders):处理获取到的所有responses,从其中分析提取item中标记好的数据,并将还需要进一步处理的url提交给引擎。

4.下载器(downloader):负责下载引擎发送的所有requests请求,并将其获取到的responses交还给引擎,有引擎交到爬虫处理。

5.管道(itemPipline):负责对爬虫爬取到的数据进行下一步操作,并对其进行持久化存储。

6.下载中间件(downloader Middewares):扩展下载功能的组件。

7.爬虫中间件(spider Middewares):负责对引擎和爬虫之间的通讯进行处理。

scrapy

看文章的时候看到很形象的描述:

数据在整个Scrapy的流向:

程序运行的时候,

引擎:Hi!Spider, 你要处理哪一个网站?

Spiders:我要处理23wx.com

引擎:你把第一个需要的处理的URL给我吧。

Spiders:给你第一个URL是XXXXXXX.com

引擎:Hi!调度器,我这有request你帮我排序入队一下。

调度器:好的,正在处理你等一下。

引擎:Hi!调度器,把你处理好的request给我,

调度器:给你,这是我处理好的request

引擎:Hi!下载器,你按照下载中间件的设置帮我下载一下这个request

下载器:好的!给你,这是下载好的东西。(如果失败:不好意思,这个request下载失败,然后引擎告诉调度器,这个request下载失败了,你记录一下,我们待会儿再下载。)

引擎:Hi!Spiders,这是下载好的东西,并且已经按照Spider中间件处理过了,你处理一下(注意!这儿responses默认是交给def parse这个函数处理的)

Spiders:(处理完毕数据之后对于需要跟进的URL),Hi!引擎,这是我需要跟进的URL,将它的responses交给函数 def xxxx(self, responses)处理。还有这是我获取到的Item。

引擎:Hi !Item Pipeline
我这儿有个item你帮我处理一下!调度器!这是我需要的URL你帮我处理下。然后从第四步开始循环,直到获取到你需要的信息,

注意!只有当调度器中不存在任何request了,整个程序才会停止,(也就是说,对于下载失败的URL,Scrapy会重新下载。)

以上就是Scrapy整个流程了。

引用来自—静觅

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值