python爬蟲學習筆記 4.9 (settings)
Settings
Scrapy設置(settings)提供了定製Scrapy組件的方法。可以控制包括核心(core),插件(extension),pipeline及spider組件。比如 設置Json Pipeliine、LOG_LEVEL等。
參考文檔:http://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/settings.html#topics-settings-ref
內置設置參考手冊
- BOT_NAME
默認: ‘scrapybot’
當您使用 startproject 命令創建項目時其也被自動賦值。
- CONCURRENT_ITEMS
默認: 100
Item Processor(即 Item Pipeline) 同時處理(每個response的)item的最大值。
- CONCURRENT_REQUESTS
默認: 16
Scrapy downloader 併發請求(concurrent requests)的最大值。
DEFAULT_REQUEST_HEADERS
默認: 如下
{
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
}
Scrapy HTTP Request使用的默認header。
- DEPTH_LIMIT
默認: 0
爬取網站最大允許的深度(depth)值。如果爲0,則沒有限制。
DOWNLOAD_DELAY
默認: 0
下載器在下載同一個網站下一個頁面前需要等待的時間。該選項可以用來限制爬取速度, 減輕服務器壓力。同時也支持小數:
DOWNLOAD_DELAY = 0.25 # 250 ms of delay
默認情況下,Scrapy在兩個請求間不等待一個固定的值, 而是使用0.5到1.5之間的一個隨機值 * DOWNLOAD_DELAY 的結果作爲等待間隔。
- DOWNLOAD_TIMEOUT
默認: 180
下載器超時時間(單位: 秒)。
- ITEM_PIPELINES
默認: {}
保存項目中啓用的pipeline及其順序的字典。該字典默認爲空,值(value)任意,不過值(value)習慣設置在0-1000範圍內,值越小優先級越高。
ITEM_PIPELINES = {
'mySpider.pipelines.SomethingPipeline': 300,
'mySpider.pipelines.ItcastJsonPipeline': 800,
}
- LOG_ENABLED
默認: True
是否啓用logging。
LOG_ENCODING
默認: ‘utf-8’
logging使用的編碼。
- LOG_LEVEL
默認: ‘DEBUG’
log的最低級別。可選的級別有: CRITICAL、 ERROR、WARNING、INFO、DEBUG 。
- USER_AGENT
默認: “Scrapy/VERSION (+http://scrapy.org)”
爬取的默認User-Agent,除非被覆蓋。
PROXIES: 代理設置
示例:
PROXIES = [
{'ip_port': '111.11.228.75:80', 'password': ''},
{'ip_port': '120.198.243.22:80', 'password': ''},
{'ip_port': '111.8.60.9:8123', 'password': ''},
{'ip_port': '101.71.27.120:80', 'password': ''},
{'ip_port': '122.96.59.104:80', 'password': ''},
{'ip_port': '122.224.249.122:8088', 'password':''},
]
- COOKIES_ENABLED = False
禁用Cookies