繁体   English   中英

如何在 settings.py 中动态创建带有蜘蛛名称的日志文件?

[英]How can I create log file with spider name in settings.py dynamically?

我有 20 种不同的蜘蛛,它按计划工作。 一天结束时,当我检查日志文件时,我收到了超过 15.000 行日志。

我最近在 settings.py 中的日志设置

from datetime import datetime
now = datetime.today()
now_time = now.strftime("%d.%m.%y")

LOG_FORMAT = '%(levelname)s: %(message)s'
LOG_FILE = 'scrapy-log-'+now_time+'.txt'

但我想准备日志文件取决于蜘蛛名称

我对 settings.py 的期望

from datetime import datetime
now = datetime.today()
now_time = now.strftime("%d.%m.%y")

LOG_FORMAT = '%(levelname)s: %(message)s'
LOG_FILE = spider_name+now_time+'.txt'

但是我不知道在爬取所有蜘蛛时如何动态获取spider_name。

所以问题是如何在settings.py中动态使用spider_name?

您可以在实例化蜘蛛时尝试覆盖设置。 像这样的东西:

class YourSpider(CrawlSpider):

    start_urls = ['http://website.com']
    allowed_domains = ['www.website.com']

    name = 'spider_name'
    custom_settings = {
        'LOG_FILE' = name+now_time+'.txt',
    }

请参阅文档https://docs.scrapy.org/en/latest/topics/settings.html中的“2. 每个蜘蛛的设置”部分

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM