scrapy_redis-从make_request_from_data关闭蜘蛛

时间:2019-04-04 13:33:07

标签: python redis scrapy

我有一个 RedisSpider (来自scrapy_redis),它在队列中侦听要解析的URL。它应该永远不会退出,它可以作为Web服务使用。但是出于某种原因,我希望能够在redis队列上发送特定消息时彻底清除蜘蛛。

def make_request_from_data(self, data):
    cleaned_data = json.loads(data)
    if cleaned_data == "END":
        # Gently close spider
    return scrapy.Request(url=cleaned_data['url'])

上面的代码是我正在尝试做的一个例子。

我尝试进行raise CloseSpider(reason="reason"),但出现错误。 I figured out我只能在回调内引发 CloseSpider

然后我尝试触发如下所示的 close_spider()函数,但出现了一些错误:

self.crawler.engine.close_spider(self, reason="Close spider instruction recieved")

如果有人可以帮助,那就太好了。

0 个答案:

没有答案