scrapy源码分析(二)----------ExecutionEngine(一)主循环

本文深入探讨Scrapy的ExecutionEngine,它是爬虫的核心组件,利用Twisted reactor驱动请求调度。ExecutionEngine包含slot(负责调度和跟踪请求)、下载器(处理网页下载)和数据抓取器(负责数据提取)。核心方法_next_request通过两种方式触发,从队列中获取请求并由下载器异步下载。当满足特定条件时,ExecutionEngine会检查是否需要暂停或关闭。后续教程将进一步解析下载器、slot和数据scraper的工作细节。
摘要由CSDN通过智能技术生成
ExecutionEngine是scrapy的核心模块之一,顾名思义是执行引擎。
它驱动了整个爬取的开始,进行,关闭。

它又使用了如下几个主要模块来为其工作:
1.slot:它使用Twisted的主循环reactor来不断的调度执行Engine的"_next_request"方法,这个方法也是核心循环方法。下面的
流程图用伪代码描述了它的工作流程,理解了它就理解了引擎的核心功能。
另外slot也用于跟踪正在进行下载的request。

2.downloader:下载器。主要用于网页的实际下载

3.scraper:数据抓取器。主要用于从网页中抓取数据的处理。也就是ItemPipeLine的处理。

根据上面的分析可知,主要是_next_request在不断的进行工作,因此这个函数重点分析,流程图如下:





流程详解:
1.这个_next_request方法有2种
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

self-motivation

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值