爬虫 - Scrapy五大核心组件


一、五大核心组件

  1. Spider
  2. 管道
  3. 调度器
  4. 引擎
  5. 下载器

二、作用

1.Spider的作用

1. 可以产生url
2. 可以对url进行请求发送
3. 进行数据解析

Spider会将url封装成请求对象, 发送给引擎
引擎再发送给调度器

2.调度器的作用

调度器由两部分组成

  1. 过滤器
  2. 队列

引擎将请求对象发送给调度器以后, 调度器会使用过滤器将请求对象进行去重
由它来决定下一个要抓取的网址是什么
将去重后的请求对象存放到队列中
调度器会从队列中调度请求对象给引擎
引擎会把请求对象给下载器

3. 下载器的作用

下载器是基于异步的, 异步是由twisted实现的
到互联网进行数据的下载
互联网会返回一个response
下载器将response返回给引擎
引擎将response返回给Spider的parse方法

parse方法开始解析, 将解析的数据封装到item中
item会返回给引擎
引擎再给管道

4. 管道的作用

管道进行持久化存储

5. 引擎的作用

用作于数据流处理的
触发事务

引擎是怎么合理触发事务的 :
根据接收到的不同的流数据进行判断

三、有趣的解释

  1. 引擎 : Hi! Spider, 你要处理哪个网站?
  2. 引擎 : 你把第一个需要处理的URL给我吧
  3. 引擎 : Hi!调度器,我这有request请求你帮我排序入队一下
  4. 调度器 : 好的, 正在处理你等一下
  5. 引擎 : Hi! 调度器, 把你处理好的request请求给我
  6. 调度器 : 给你, 这是我处理好的request
  7. 引擎 : Hi! 下载器, 你安装下载中间件的设置帮我下载一下这个request请求
  8. 下载器 : 给你, 这是下载好的东西
  9. 引擎 : Spider, 这是下载好的东西, 并且一下安装下载中间件处理过了
  10. Spider : 处理完毕数据之后对于需要跟进的URL , Hi! 引擎, 我这里有两个结果, 这个是我需要跟进的URL, 还有这个是我获取到的item数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值