多个蜘蛛的Scrapy项目 - 忽略自定义设置

时间:2016-02-21 06:48:57

标签: python scrapy

情景

  • 带有多个蜘蛛的单个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')

重现步骤

  1. 执行scrapy crawl spider01
  2. 检查日志目录(希望看到以spider01 _为前缀的日志文件)
  3. 查看日志文件内容正确但文件名错误(spider02 _)。
  4. 有什么想法吗?我在过去设置了多个蜘蛛的scrapy项目没有问题。不知道为什么我现在遇到问题?

1 个答案:

答案 0 :(得分:0)

Scrapy 1.0开始,您可以为蜘蛛添加自定义设置,而无需更改项目的全局设置。只需在您的蜘蛛中添加名为custom_settings的属性即可。

查看文档:{​​{3}}