Ⅲ.Re:Scrapy架构概述
架构图
执行流程
ENGINE
从SPIDERS
中(start_urls
或start_requests
方法)获取种子链接P.S.
概念:crawler
是抓取任务、spider
是编写的爬虫逻辑模块ENGINE
在SCHEDULER
中调度 Requests,并获取将要抓取的 RequestsSCHEDULER
把 Requests 返回给ENGINE
ENGINE
把 Requests 经过DOWNLOADER_MIDDLEWARES
(process_request)的层层处理,交递给DOWNLOADER
DOWNLOADER
将 Requests 请求后,会得到的 Response ,再经由DOWNLOADER_MIDDLEWARES
(process_response)的层层处理,返回到ENGINE
ENGINE
将得到的 Response 经过SPIDER_MIDDLEWARES
(process_spider_input),发送给SPIDERS
处理SPIDERS
根据编写的业务逻辑将 Items 或新的 Requests,通过SPIDER_MIDDLEWARES
(process_spider_output)交由ENGINE
ENGINE
会根据 Items 或 Requests 的不同,发往ITEM PIPELNES
或SCHEDULER
从步骤3之后,程序会循环执行,直到
ENGINE
里没有可供调度的 Requests 结束
核心类
_next_request
_download
_handle_downloader_output
scrape_response
call_spider
Ⅲ.Re:Scrapy架构概述
https://元气码农少女酱.我爱你/c31a9553cda1/