python爬蟲學習筆記 4.9 (settings)

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章