Python爬虫 | 一博看懂 Scrapy 五大核心组件及其运行机制(spiders、引擎、调度器、下载器、管道)

在这里插入图片描述

一、 五大核心组件运行机制

本来准备所有流程画到一张图当中,画完了发现这图只能让懂的人看懂,不懂的人还是看不懂,于是将图拆成三个部分。

1. 发起请求

spider 将请求对象提交给引擎,引擎将请求对象转发给调度器,调度器对请求对象去重,将去重后的请求对象装到队列当中,调度器将请求对象逐一给引擎,引擎将调度对象转发给下载器,下载器拿到请求对象之后,对网站发起请求。

在这里插入图片描述

2. 解析数据

下载器接收到网站返回的response,将response发送给引擎,引擎转发给spider做页面数据的提取xpath解析。

在这里插入图片描述

3. 持久化存储

spider将解析好的数据发送给引擎,引擎将数据转发给管道,管道将数据进行持久化存储。

在这里插入图片描述

4. 保存版汇总图

在这里插入图片描述

二、 五大核心组件

引擎(Scrapy)
用来处理整个系统的数据流处理, 触发事务(框架核心)

调度器(Scheduler)
用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是什么, 同时去除重复的网址

下载器(Downloader)
用于下载网页内容, 并将网页内容返回给蜘蛛(Scrapy下载器是建立在twisted这个高效的异步模型上的)

爬虫(Spiders)
爬虫是主要干活的, 用于从特定的网页中提取自己需要的信息, 即所谓的实体(Item)。用户也可以从中提取出链接,让Scrapy继续抓取下一个页面

项目管道(Pipeline)
负责处理爬虫从网页中抽取的实体,主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处理数据。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿过家家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值