【发布时间】:2016-06-02 16:06:40
【问题描述】:
场景:
- 具有多个蜘蛛的单个 scrapy 项目。
- 为每个蜘蛛定义的自定义设置。
问题:
- 在执行(即 scrapy crawl ...)时,正在执行的蜘蛛的自定义设置会被同一项目中另一个蜘蛛的自定义设置覆盖。
spider01.py
class FirstXmlSpider(XMLFeedSpider):
# Spider Name
name = 'spider01'
# Initialise Settings
now = datetime.datetime.now()
settings.set('LOG_FILE', './logs/' + name + '_' + now.strftime("%Y%m%d_%H%M%S") + '.txt')
spider02.py
class SecondXmlSpider(XMLFeedSpider):
# Spider Name
name = 'spider02'
# Initialise Settings
now = datetime.datetime.now()
settings.set('LOG_FILE', './logs/' + name + '_' + now.strftime("%Y%m%d_%H%M%S") + '.txt')
复制步骤
- 执行scrapy crawl spider01
- 检查日志目录(期望看到以spider01_为前缀的日志文件)
- 查看内容正确但文件名错误的日志文件 (spider02_)。
有什么想法吗?我过去用多个蜘蛛设置了scrapy项目,没有问题。不知道为什么我现在遇到问题?
【问题讨论】: