參考:https://docs.scrapy.org/en/latest/topics/commands.html
Configuration settings
關於scrapy命令行工具的配置文件,其格式爲ini。配置文件存在於以下幾個地方:
- /etc/scrapy.cfg or c:\scrapy\scrapy.cfg 這個是系統級配置文件
~/.config/scrapy.cfg
($XDG_CONFIG_HOME
) and~/.scrapy.cfg
這個是用戶級- 項目內的scrapy.cnf,項目級。
原來項目內自動生成的scrapy.cnf是用來配置scrapy命令行工具的。
上邊三個優先級由低到高,最終的配置是三個文件合併的結果。
scrapy命令行可也可通過環境變量配置,這個後邊再說。
Default structure of Scrapy projects
默認的scrapy項目的目錄結構:
scrapy.cfg
myproject/
__init__.py
items.py
middlewares.py
pipelines.py
settings.py
spiders/
__init__.py
spider1.py
spider2.py
...
裏邊有一項,指向項目中的setting.py文件,後者是python代碼文件,裏邊也全是關於配置的:
[settings]
default = myproject.settings
scrapy創建出來的那個根目錄,可以被多個Scrapy項目共享,每個scrapy項目都有自己的setting,當然根目錄下的什麼item pipeline之類的定義也可以在多個scrapy項目這間共享,這樣就可以複用了。
[settings]
default = myproject1.settings
project1 = myproject1.settings
project2 = myproject2.settings
其中有一個default項目,default指的是scrapy項目名稱與根目錄名稱一樣的那個項目。
默認情況下scrapy命令行工具使用default那個項目的配置,可以通過設置SCRAPY_PROJECT環境變量指向其它的項目,如:
$ scrapy settings --get BOT_NAME
Project 1 Bot
$ export SCRAPY_PROJECT=project2
$ scrapy settings --get BOT_NAME
Project 2 Bot
一堆命令,看原文吧。反正scrapy這個命令要看在什麼目錄下運行,目錄不同那麼它的配置就不同,還與環境變量有關。