Python scrapy:spider析构函数(_del__)从未执行过
我已经创建了一个运行良好的scrapy spider(它完成了应该做的事情),但是当完成工作时,它不会执行析构函数代码(del) 版本包括: -python 2.7.3 -刮毛0.24.6 -软呢帽18Python scrapy:spider析构函数(_del__)从未执行过,python,scrapy,destructor,scrapy-spider,Python,Scrapy,Destructor,Scrapy Spider,我已经创建了一个运行良好的scrapy spider(它完成了应该做的事情),但是当完成工作时,它不会执行析构函数代码(del) 版本包括: -python 2.7.3 -刮毛0.24.6 -软呢帽18 class MySpider(scrapy.Spider): stuff def __del__(self): stuff_1 MySpider完成后,我如何执行“stuff-1”代码?使用信号。特别是,信号: @alecxe的答案是现在 请使用以下选项: from scrapy im
class MySpider(scrapy.Spider):
stuff
def __del__(self):
stuff_1
MySpider完成后,我如何执行“stuff-1”代码?使用信号。特别是,信号: @alecxe的答案是现在 请使用以下选项:
from scrapy import signals
from scrapy.xlib.pydispatch import dispatcher
class MySpider(scrapy.Spider):
def __init__(self):
dispatcher.connect(self.spider_closed, signals.spider_closed)
def spider_closed(self, spider):
stuff_1()
class MySpider(scrapy.Spider):
...
@classmethod
def from_crawler(cls, crawler, *args, **kwargs):
spider = super(MySpider, cls).from_crawler(crawler, *args, **kwargs)
crawler.signals.connect(spider.spider_closed, signal=scrapy.signals.spider_closed)
return spider
def spider_closed(self, spider):
spider.logger.info('Spider closed')