Scrapy Settings級別 & 如何獲取settings & 一些可能用到的setting
http://doc.scrapy.org/en/1.0/topics/settings.html
一、有5種類型的Settings,優先順序由高到低
1. 命令列選項
使用-s複寫設定,如scrapy crawl myspider -s LOG_FILE=scrapy.log
2. 每個spider的setting
scrapy.spiders.Spider.custom_settings屬性設定
3. 專案的setting
myproject.settings,專案下的settings檔案
4. 每個命令的預設setting
5. 預設setting
二、獲取settings值
經常需要在pipeline或者中介軟體中獲取settings的屬性,可以通過scrapy.crawler.Crawler.settings屬性
class MyExtension(object): @classmethod def from_crawler(cls, crawler): settings = crawler.settings if settings['LOG_ENABLED']: print "log is enabled!"
三、一些設定:
1. DNS_TIMEOUT預設60s
2. DOWNLOADER_MIDDLEWARES下載中介軟體
3. DOWNLOAD_DELAY兩次下載的間隔
4. DOWNLOAD_TIMEOUT預設180s
5. DOWNLOAD_MAXSIZE預設1024M
6. LOG_ENABLED
7. LOG_FILE預設是NONE
8. LOG_LEVEL,預設是DEBUG,即列印DEBUG, INFO, WARNING, ERROR,所有LOG資訊
9. LOG_STDOUT,預設是false,所有的標準輸出是否放在log中
10. MEMDEBUG_ENABLED,預設是false
11. RANDOMIZE_DOWNLOAD_DELAY預設是true, 等待0.5-1.5*DOWNLOAD_DELAY時間,防止被禁
12. USER_AGENT預設是”Scrapy/VERSION (+http://scrapy.org)