Engine(引擎):负责处理数据的流转和逻辑处理 == 处理器
Scheduler(调度器):负责request请求的调动规则
Spiders(蜘蛛):负责站点的爬取逻辑和页面解析规则
Spider Middlewares:负责实现Spiders和Engine的之间的item和request处理
Downloader(下载器):相当于请求网页,返回response
Downloader Middlewares:负责实现Downloader和Engine之间的request和response处理
Item Pipelines(项目管道):负责数据结构的处理以及存储
具体流转:
启动项目,Spiders返回最初要爬取的页面request请求,将它们发送给engine;
Engine将request请求发送给scheduler进行调度逻辑的处理;
scheduler向Engine返回第一个要处理的request请求;
Engine将其发送给Downloader进行处理,Downloader返回response结果;
数据传递具体过程用Downloader Middlewares负责;
Engine将response结果发送给spider进行处理,spider产生item结果或者其他request请求返回给Engine;
数据传递具体过程用Spider Middlewares负责;
Engine将item发送给Item Pipelines进行数据清洗和数据保存,将request发送给Scheduler等待下一次调度处理。