代码
在爬虫文件中
@classmethod
def from_crawler(cls, crawler, *args, **kwargs):
spider = super(T1Spider, cls).from_crawler(crawler, *args, **kwargs)
spider.id = f"t1-{datetime.datetime.now()}"
crawler.signals.connect(spider.item_scraped, signal=signals.item_scraped)
crawler.signals.connect(spider.spider_closed, signal=signals.spider_closed)
crawler.signals.connect(spider.spider_opened, signal=signals.spider_opened)
return spider
def item_scraped(self, item, response, spider):
if item:
print(spider.id, "item_scraped")
self.item_count += 1
print("已采集 {} 个item".format(self.item_count))
def spider_opened(self, spider):
print("{}: 打开了".format(spider.id))
def spider_closed(self, spider, reason):
print("spider.id: {}".format(spider.id))
print("reason: {}".format(reason))
print("一共采集 {} 个item".format(self.item_count))
print("{}: 关闭了".format(spider.id))