架构原理
约 355 字大约 1 分钟
2025-01-11
架构图

拆分讲解
Spider-start_requests
:爬虫任务起始位置middleware
:中间件hook模块Spider-Manager
:任务管理中心Scheduler
:任务调度模块Downloader
:下载器模块Item
:数据存储模块Pipeline
:数据处理管道模块
流程说明
start_requests
生成起始请求给到Spider-Manager
Spider-Manager
异步启动生产者将请求体消息,根据优先级放到请求队列,同时也异步启动消费者消费者
按照优先级顺序传递给Scheduler
Scheduler
按照消息体内容,传递请求体回到Spider-Manager
Spider-Manager
调用Downloader
进行数据下载Downloader
将响应内容返回给Spider-Manager
Spider-Manager
将响应内容反馈到爬虫解析模块- 爬虫解析模块进行数据解析并将数据传递给
Item
Item
将数据暂时保存,等待pipeline
的接收处理pipeline
接受并处理Item
的数据,清洗或持久化等操作
注意
以上每一个步骤都是异步进行操作,所有可能出现阻塞的地方都会进行异步等待,提高整体架构流程的效率