笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册

体系结构概述

发布者: 笨鸟自学网

本文描述了Scrapy的体系结构及其组件如何交互。

概述

下图显示了Scrapy架构及其组件的概述,以及系统内部发生的数据流的概要(以红色箭头显示)。下面提供了这些组件的简要说明以及有关它们的详细信息的链接。数据流也描述如下。

数据流

简陋的建筑

Scrapy中的数据流由执行引擎控制,如下所示:

  1. 这个 Engine 获取要从 Spider .

  2. 这个 Engine 在中安排请求 Scheduler 并请求下一个要爬行的请求。

  3. 这个 Scheduler 将下一个请求返回到 Engine .

  4. 这个 Engine 将请求发送到 Downloader ,通过 Downloader Middlewares (见 process_request() 

  5. 一旦页面完成下载, Downloader 生成响应(使用该页)并将其发送到引擎,并通过 Downloader Middlewares (见 process_response() 

  6. 这个 Engine 接收来自的响应 Downloader 并发送到 Spider 用于处理,通过 Spider Middleware (见 process_spider_input() 

  7. 这个 Spider 处理响应并向 Engine ,通过 Spider Middleware (见 process_spider_output() 

  8. 这个 Engine 将已处理的项目发送到 Item Pipelines ,然后将已处理的请求发送到 Scheduler 并请求可能的下一个爬行请求。

  9. 该过程重复(从步骤1开始),直到不再有来自 Scheduler .

组件

抓取式发动机

引擎负责控制系统所有组件之间的数据流,并在发生某些操作时触发事件。见 Data Flow 有关详细信息,请参阅上面的部分。

调度程序

这个 scheduler 接收来自引擎的请求,并将其排队,以便稍后在引擎请求它们时将其提供(也提供给引擎)。

下载器

下载者负责获取网页并将其送入引擎,引擎反过来又将网页送入蜘蛛。

蜘蛛

spider是Scrapy用户编写的自定义类,用于解析响应和提取 items 从他们或其他要求跟随。有关详细信息,请参阅 蜘蛛 .


12下一页
上一篇:asyncio下一篇:下载器中间件

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-12-4 00:47 , Processed in 0.071447 second(s), 17 queries .

© 2001-2020

返回顶部