如果满足条件,则终止Scrapy

时间:2014-05-27 08:40:06

标签: python scrapy

我在python中使用scrapy编写了一个刮刀。它包含100个start_urls。

我想在条件满足后终止抓取过程。 即找到终止特定div的刮擦。终止时我的意思是它应该停止抓取所有网址。

是否可能

1 个答案:

答案 0 :(得分:11)

您正在寻找的是CloseSpider exception

在源文件顶部的某处添加以下行:

from scrapy.exceptions import CloseSpider

当您检测到您的终止条件得到满足时,只需执行类似

的操作即可
        raise CloseSpider('termination condition met')
回调方法中的

(而不是返回或产生ItemRequest)。

请注意,仍在解析仍在进行中的请求(发送HTTP请求,尚未收到响应)。不会处理任何新请求。