在Scrapy Spider关闭后获得item_scraped_count
,可以通过编写一个自定义的扩展来实现。
首先,创建一个Python文件,命名为item_count_extension.py
,并在文件中编写以下代码:
from scrapy import signals
class ItemCountExtension(object):
def __init__(self):
self.item_count = 0
@classmethod
def from_crawler(cls, crawler):
ext = cls()
crawler.signals.connect(ext.spider_closed, signal=signals.spider_closed)
return ext
def spider_closed(self, spider):
self.item_count = spider.crawler.stats.get_value('item_scraped_count')
self.process_item_count()
def process_item_count(self):
# 在这里可以对item_count进行进一步处理,如保存到数据库或输出到日志等
print("Total items scraped:", self.item_count)
然后,在Scrapy项目的settings.py
文件中添加以下配置:
EXTENSIONS = {
'your_project_name.item_count_extension.ItemCountExtension': 500,
}
将your_project_name
替换为你的Scrapy项目的名称。
最后,在Scrapy Spider关闭后,你将能够获得item_scraped_count
的值,并可以在process_item_count
方法中对其进行进一步处理,如保存到数据库或输出到日志等。
注意:以上代码示例中,并未提及任何特定的云计算品牌商,如需了解腾讯云相关产品和产品介绍,建议访问腾讯云官方网站获取更详细的信息。
领取专属 10元无门槛券
手把手带您无忧上云