小编Mor*_*den的帖子

Scrapy没有响应CloseSpider异常

我已经实现了一个依靠Scrapy同时运行多个蜘蛛的解决方案.根据我在这里阅读的内容(http://doc.scrapy.org/en/latest/topics/exceptions.html),为了优先发信号通知蜘蛛是时候死了,我应该提出一个CloseSpider异常如下:

from scrapy.exceptions import CloseSpider

class SomeSpider(CrawlSpider):
  def parse_items(self, response):
     if self.to_be_killed:
        raise CloseSpider(reason="Received kill signal")
Run Code Online (Sandbox Code Playgroud)

但是,虽然代码在遇到异常时似乎确实引发了异常,但蜘蛛仍在长时间处理请求.我需要它立即停止它正在做的事情.

我意识到Scrapy是围绕一个异步框架构建的,但是有什么方法可以强制蜘蛛关闭而不会产生任何额外的出站请求?

python scrapy

2
推荐指数
1
解决办法
1531
查看次数

标签 统计

python ×1

scrapy ×1