爬虫日记(85):Scrapy的ExecutionEngine类

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(85):Scrapy的ExecutionEngine类相关的知识,希望对你有一定的参考价值。

接着下来我们来分析spider_is_idle函数,这个函数用来判断蜘蛛类是否处于空闲状态:

第189行判断下载回应处理器是否空闲,如果不是空闲状态直接可以判断蜘蛛类为非空闲状态;反之就不行了,因为即使下载回应是空闲的,但是正在发送请求中。

第193行判断下载器是否为活动当中,如果是活动当中说明蜘蛛类也不是空闲状态。

第197行判断引擎里请求生成器是否为空,如果非空说明还有请求需要下载,说明蜘蛛类也为非空闲状态。

第201行调度器里的队列是否还有数据,如果有数据也是非空闲状态。

这个函数根据这四个条件来判断当前蜘蛛类是否为空闲状态,如果是空闲状态,并且在初始化时设置可以允许空闲状态之下删除蜘蛛类并退出引擎运行。

以上是关于爬虫日记(85):Scrapy的ExecutionEngine类的主要内容,如果未能解决你的问题,请参考以下文章

爬虫日记(85):Scrapy的ExecutionEngine类

爬虫日记(85):Scrapy的ExecutionEngine类

爬虫日记(63):Scrapy的设置参数-日志

爬虫日记(73):Scrapy程序运行入口点分析

爬虫日记(75):Scrapy的Settings源码分析

爬虫日记(74):Scrapy项目配置参数源码分析(二)