我正在为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中设置它吗?
答案 0 :(得分:2)
每个scrapy项目都应包含其自己的scrapy.cfg
文件。
因此,根据您的情况,您希望将scrapy.cfg
和project1
下的project2
请参见dccumentation on scrapy configuration settings:
Scrapy将在标准位置的ini样式scrapy.cfg文件中查找配置参数:
/etc/scrapy.cfg
或c:\scrapy\scrapy.cfg
(系统范围),~/.config/scrapy.cfg
($XDG_CONFIG_HOME
)和~/.scrapy.cfg
($ HOME)进行全局(用户范围)设置,以及scrapy.cfg
包含在拼凑项目的根目录中(请参阅下一部分)。这些文件中的设置将按照列出的优先顺序进行合并:用户定义的值的优先级高于系统范围的默认值,并且在定义时,项目范围的设置将覆盖所有其他设置。
Scrapy还可以理解并可以通过许多环境变量进行配置。当前这些是:
SCRAPY_SETTINGS_MODULE
(请参阅指定设置)
SCRAPY_PROJECT
SCRAPY_PYTHON_SHELL
(请参阅Scrapy shell)