Scrapy:如何对不同的项目使用不同的settings.py

时间:2018-07-26 04:10:10

标签: python scrapy

我正在为scrapy的不同项目使用不同的设置,我的目录结构是:

-projects
    -project1
        -spiders
        -settings.py
    -project2
        -spiders
        -settings.py
    -scrapy.cfg

我的scrapy.cfg是:

[settings]
default = project1.settings

[deploy]
project = project1

结果显示project1和project2都使用project1.settings。

那么,如何将project1.settings用于project1,将project2.settings用于project2? 我可以在scrapy.cfg中设置它吗?

1 个答案:

答案 0 :(得分:2)

每个scrapy项目都应包含其自己的scrapy.cfg文件。

因此,根据您的情况,您希望将scrapy.cfgproject1下的project2

请参见dccumentation on scrapy configuration settings

  

Scrapy将在标准位置的ini样式scrapy.cfg文件中查找配置参数:

     
      
  1. /etc/scrapy.cfgc:\scrapy\scrapy.cfg(系统范围),
  2.   
  3. ~/.config/scrapy.cfg$XDG_CONFIG_HOME)和~/.scrapy.cfg($ HOME)进行全局(用户范围)设置,以及
  4.   
  5. scrapy.cfg包含在拼凑项目的根目录中(请参阅下一部分)。
  6.   
     

这些文件中的设置将按照列出的优先顺序进行合并:用户定义的值的优先级高于系统范围的默认值,并且在定义时,项目范围的设置将覆盖所有其他设置。

     

Scrapy还可以理解并可以通过许多环境变量进行配置。当前这些是:

     

SCRAPY_SETTINGS_MODULE(请参阅指定设置)
  SCRAPY_PROJECT
  SCRAPY_PYTHON_SHELL(请参阅Scrapy shell)

documentation on scrapy's default project structure