gpt4 book ai didi

python - Spider_closed 函数不会被触发

转载 作者:行者123 更新时间:2023-12-05 01:04:25 30 4
gpt4 key购买 nike

我想在蜘蛛完成工作时记录一些数据。

我在我的蜘蛛中制作了这个功能。

def spider_closed(self, spider):
log.msg('The spider {0} finished working on'.format(self.name), level=log.INFO)

但是这个功能并没有被解雇。

我正在使用带有 python 2.7 的scrapy 0.20

请注意,我可以将任何内容记录到我的日志中,实际上我正在记录很多可以在我的日志文件中看到的数据。所以日志记录正在与我合作。

编辑

我想我必须发送一个信号 signals.spider_closed但我不知道该怎么做。

最佳答案

您应该将您的方法附加为 receiver SignalManager 信号调度员:

from scrapy.xlib.pydispatch import dispatcher
from scrapy import signals

class MySpider(Spider):
def __init__(self, *args, **kwargs):
dispatcher.connect(self.spider_closed, signal=signals.spider_closed)
super(MySpider, self).__init__(*args, **kwargs)

def spider_closed(self, spider):
log.msg('The spider {0} finished working on'.format(self.name), level=log.INFO)

另请参阅相关主题:
  • scrapy: Call a function when a spider quits
  • Recording the total time taken for running a spider in scrapy
  • 关于python - Spider_closed 函数不会被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23200162/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com