排列为调用框架时的使用顺序:
Spiders:定义了爬取逻辑和网页的解析规则,它主要负责解析响应并生成提取结果和新的请求Engine:用来处理整个系统的数据流处理、触发事物,是框架核心Scheduler(调度器):用来接受Engine发来的Request并加入队列,并在Engine引擎再次要求是返还给EngineDownloader(下载器):下载网页内容,将网页内容返还给Spideritems:定义了爬取结果的数据结构,爬取的数据会被赋值成该对象item Pipline:负责处理Items,主要任务是清理,验证和存储数据库Downloader Middleware(下载器中间插件):位于Engine和Downloader之间,主要是处理Engine和Downloader之间的请求与响应Spider Middleware:位于Engine和Spider之间,主要是处理Spider输入响应和输出结果以及新的Request
1.1 数据流处理Scrapy具体流程如下
- Engine首先打开一个网站,找到处理该网站的Spider,并向Spider请求第一个需要爬取的URLEngine从Spider中获取第一个要爬取的Url,通过Request请求传给SchedulerScheduler将要下载的Url传给Engine,Engine将Url通过Downloader Middlewares传给Downloader下载一旦下载完毕,Downloader生成一个该Url的Response,并通过Downloader Middlewares传给EngineEngine从下载器接收到Response并通过Spider Middlewares发送给Spider处理Spider 处理 Response 并返回爬取到的 Item 及新的 Request 给 EngineEngine 将 Spider 返回的 Item 给 Item Pipeline,将新的 Request 给 Scheduler之后重复第二步到最后一步,直到没有请求



