Python Scrapy日志:以不同的格式设置StatCollector时间戳

Python Scrapy日志:以不同的格式设置StatCollector时间戳,python,scrapy,Python,Scrapy,当标准scrapy spider完成爬网时,它将使用StatCollectors模块记录爬网的摘要,该模块类似于以下内容(截断): 我希望以不同的格式设置start\u time和end\u time值,以便将日志文件作为监视管道的一部分进行处理。例如 datetime.datetime(2021,3,21,14,11,6,806324)=>2021-03-21 14:11:06.806324 我看无论如何都无法改变这一点。你知道我如何影响StatsCollector模块的格式吗?这不是很明显,

当标准scrapy spider完成爬网时,它将使用StatCollectors模块记录爬网的摘要,该模块类似于以下内容(截断):

我希望以不同的格式设置
start\u time
end\u time
值,以便将日志文件作为监视管道的一部分进行处理。例如

datetime.datetime(2021,3,21,14,11,6,806324)
=>
2021-03-21 14:11:06.806324


我看无论如何都无法改变这一点。你知道我如何影响StatsCollector模块的格式吗?

这不是很明显,但是你可以在你的爬行器上定义一个函数,在爬行器关闭时执行,你可以通过
爬行器访问
统计数据。您可以使用它来记录开始/结束时间,如下所示

def关闭(自身原因):
self.logger.info(“开始时间:%s”,self.crawler.stats.get\u值(“开始时间”))
self.logger.info(“结束时间:%s”,self.crawler.stats.get\u值(“开始时间”))
如果希望在结束时关闭统计数据转储,则可以使用设置完成此操作

2021-03-21 15:11:16 [scrapy.statscollectors] INFO: Dumping Scrapy stats:
{'downloader/exception_count': 4,
 'elapsed_time_seconds': 91125.763498,
 'finish_reason': 'finished',
 'finish_time': datetime.datetime(2021, 3, 21, 14, 11, 6, 806324),
 'item_scraped_count': 30395,
 'log_count/ERROR': 4,
 'log_count/INFO': 574,
 'log_count/WARNING': 38,
 'start_time': datetime.datetime(2021, 3, 20, 12, 52, 21, 42826)}