无法从pipeline.py内部停止Scrapy

时间:2019-07-30 08:56:08

标签: python web-scraping scrapy

因此,我正在为我的Scrapy数据编写一个验证器,并希望蜘蛛在数据格式不正确时停止抓取。我正在Pipeline.py中进行此操作。

我已经尝试过调用CloseSpider,close_spider和crawler._signal_shutdown(9,0)(已在其他教程中使用,但由于某些原因无法在pipeline.py中使用)。我知道蜘蛛并不能立即完成,但是上述所有方法似乎都会产生某种错误。有一种简单的方法可以杀死爬虫吗?

2 个答案:

答案 0 :(得分:1)

您的抓取器由于其时间表而仍然工作,因此请求量很大,并且创建了CloseSpider是为了正常关机。这意味着在关闭搜寻器之前,所有正在处理的请求都将被取消或完成。 您打电话给close_spider() in this way

答案 1 :(得分:0)

只需尝试下面的代码即可杀死Spider进程:

raise SystemExit