有什么方法可以压缩日志吗?我需要将它们存储一段时间以供以后调试,找到减小它们大小的方法会很酷。如果没有这样的方法,那么如何更有效地组织压缩过程呢?
问问题
25 次
1 回答
1
closed
您可以通过在spider方法中编写压缩代码,在spider运行完成后对日志进行压缩。请参阅下面的示例,其中我压缩了日志文件,然后在压缩后删除了初始日志文件。您可以通过添加一些错误处理来改进代码。
import scrapy
import gzip
import os
class TestSpider(scrapy.Spider):
name = 'test'
allowed_domains = ['toscrape.com']
start_urls = ['https://books.toscrape.com']
custom_settings = {
'LOG_FILE': 'scrapy.log'
}
def parse(self, response):
yield {
'url': response.url
}
def closed(self, reason):
with open('scrapy.log', 'rb') as f_in, gzip.open('scrapy.log.gz', 'wb') as f_out:
f_out.writelines(f_in)
os.remove('scrapy.log')
于 2021-12-21T03:11:36.917 回答