1. 程式人生 > >scrapy---setting的欄位含義

scrapy---setting的欄位含義

# -*- coding: utf-8 -*-

# Scrapy settings for lizi project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     http://doc.scrapy.org/en/latest/topics/settings.html
#     http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html
#     http://scrapy.readthedocs.org/en/latest/topics/spider-middleware.html

BOT_NAME = 'lizi'

SPIDER_MODULES = ['lizi.spiders']
NEWSPIDER_MODULE = 'lizi.spiders'


# Crawl responsibly by identifying yourself (and your website) on the user-agent
USER_AGENT = 'lizi (+http://www.yourdomain.com)'
'''預設: "Scrapy/VERSION (+http://scrapy.org)"

爬取的預設User-Agent,除非被覆蓋。'''
# Obey robots.txt rules
#ROBOTSTXT_OBEY = True
ROBOTSTXT_OBEY = False
'如果啟用,Scrapy將會尊重 robots.txt策略'
CONCURRENT_REQUESTS = 32
'''***********************
Configure maximum concurrent requests performed by Scrapy (default: 16)
Scrapy downloader 併發請求(concurrent requests)的最大值
'''
# Configure a delay for requests for the same website (default: 0)
# See http://scrapy.readthedocs.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs

DOWNLOAD_DELAY = 3
'''************************
下載器在下載同一個網站下一個頁面前需要等待的時間。
該選項可以用來限制爬取速度, 減輕伺服器壓力。同時也支援小數:
該設定影響(預設啟用的) RANDOMIZE_DOWNLOAD_DELAY 設定。 預設情況下,Scrapy在兩個請求間不等待一個固定的值,
 而是使用0.5到1.5之間的一個隨機值 * DOWNLOAD_DELAY 的結果作為等待間隔。
當 CONCURRENT_REQUESTS_PER_IP 非0時,延遲針對的是每個ip而不是網站。
另外您可以通過spider的 download_delay 屬性為每個spider設定該設定。
'''

# The download delay setting will honor only one of:
CONCURRENT_REQUESTS_PER_DOMAIN = 16
'對單個網站進行併發請求的最大值'
CONCURRENT_REQUESTS_PER_IP = 16


'''
對單個IP進行併發請求的最大值。如果非0,則忽略 CONCURRENT_REQUESTS_PER_DOMAIN 設定, 
使用該設定。 也就是說,併發限制將針對IP,而不是網站。
該設定也影響 DOWNLOAD_DELAY: 如果 CONCURRENT_REQUESTS_PER_IP 非0,
下載延遲應用在IP而不是網站上。
'''

# Disable cookies (enabled by default)
COOKIES_ENABLED = False
'是否啟用cookies middleware。如果關閉,cookies將不會發送給web server。'
# Disable Telnet Console (enabled by default)
TELNETCONSOLE_ENABLED = False
'表明 telnet 終端 (及其外掛)是否啟用的布林值。'
# Override the default request headers:
DEFAULT_REQUEST_HEADERS = {
   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
   'Accept-Language': 'en',}
'Scrapy HTTP Request使用的預設header。由 DefaultHeadersMiddleware 產生。這裡通常可以自己新增更完整'
# Enable or disable spider middlewares
# See http://scrapy.readthedocs.org/en/latest/topics/spider-middleware.html

SPIDER_MIDDLEWARES = {
    'lizi.middlewares.MyCustomSpiderMiddleware': 543,
}
'''要啟用spider中介軟體,您可以將其加入到 SPIDER_MIDDLEWARES 設定中。 
該設定是一個字典,鍵位中介軟體的路徑,值為中介軟體的順序(order)。如上就是開啟'''
# Enable or disable downloader middlewares
# See http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html
DOWNLOADER_MIDDLEWARES = {
    'lizi.middlewares.MyCustomDownloaderMiddleware': 543,
}
'''儲存專案中啟用的下載中介軟體及其順序的字典。 更多內容請檢視 啟用下載器中介軟體
DOWNLOADER_MIDDLEWARES 設定會與Scrapy定義的 DOWNLOADER_MIDDLEWARES_BASE 設定合併(但不是覆蓋), 而後根據順序(order)進行排序,
最後得到啟用中介軟體的有序列表: 第一個中介軟體是最靠近引擎的,最後一箇中間件是最靠近下載器的。
關於如何分配中介軟體的順序請檢視 DOWNLOADER_MIDDLEWARES_BASE 設定,
而後根據您想要放置中介軟體的位置選擇一個值。 
由於每個中介軟體執行不同的動作,您的中介軟體可能會依賴於之前(或者之後)執行的中介軟體,
因此順序是很重要的'''
# Enable or disable extensions
# See http://scrapy.readthedocs.org/en/latest/topics/extensions.html
EXTENSIONS = {    'scrapy.extensions.telnet.TelnetConsole': None,
}

# Configure item pipelines
# See http://scrapy.readthedocs.org/en/latest/topics/item-pipeline.html


ITEM_PIPELINES = {
    'lizi.pipelines.SomePipeline': 300,
}
#這裡如果一個專案多個spiders的時候,每次執行的時候每次要在這裡制定一個對應的pipeline
'''
儲存專案中啟用的pipeline及其順序的字典。該字典預設為空,值(value)任意。 不過值(value)習慣設定在0-1000範圍內。
為了相容性,ITEM_PIPELINES 支援列表,不過已經被廢棄了。
樣例:
ITEM_PIPELINES = {
    'mybot.pipelines.validate.ValidateMyItem': 300,
    'mybot.pipelines.validate.StoreMyItem': 800,
}'''

# Enable and configure the AutoThrottle extension (disabled by default)
# See http://doc.scrapy.org/en/latest/topics/autothrottle.html
AUTOTHROTTLE_ENABLED = True
'啟用自動限速AutoThrottle擴充套件'
# The initial download delay
AUTOTHROTTLE_START_DELAY = 5
'初始下載延遲(單位:秒)'
# The maximum download delay to be set in case of high latencies
AUTOTHROTTLE_MAX_DELAY = 60
'初始下載延遲(單位:秒)'
# The average number of requests Scrapy should be sending in parallel to
# each remote server
AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
AUTOTHROTTLE_DEBUG = False
'起用AutoThrottle除錯(debug)模式,展示每個接收到的response。 您可以通過此來檢視限速引數是如何實時被調整的'
# Enable and configure HTTP caching (disabled by default)
# See http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
HTTPCACHE_ENABLED = True
'HTTP快取是否開啟。'
HTTPCACHE_EXPIRATION_SECS = 0
'''快取的request的超時時間,單位秒。
超過這個時間的快取request將會被重新下載。如果為0,則快取的request將永遠不會超時。'''
HTTPCACHE_DIR = 'httpcache'
'''儲存(底層的)HTTP快取的目錄。如果為空,則HTTP快取將會被關閉。 如果為相對目錄,則相對於專案資料目錄(project data dir)。
更多內容請參考 預設的Scrapy專案結構 。'''
HTTPCACHE_IGNORE_HTTP_CODES = []
'''不快取設定中的HTTP返回值(code)的request。'''
HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'
'實現快取儲存後端的類。'

#一下內容為預設setting.py檔案沒有的欄位,但是可以自己新增

CONCURRENT_ITEMS
'''
預設: 100
Item Processor(即 Item Pipeline) 同時處理(每個response的)item的最大值。
'''

DEFAULT_ITEM_CLASS
'''預設: 'scrapy.item.Item'
the Scrapy shell 中例項化item使用的預設類'''


DEPTH_LIMIT
'''預設: 0
爬取網站最大允許的深度(depth)值。如果為0,則沒有限制'''
DEPTH_PRIORITY
'''預設: 0
整數值。用於根據深度調整request優先順序。
如果為0,則不根據深度進行優先順序調整'''
DEPTH_STATS
'''
預設: True
是否收集最大深度資料。'''
DEPTH_STATS_VERBOSE
'''預設: False
是否收集詳細的深度資料。如果啟用,每個深度的請求數將會被收集在資料中。'''

DOWNLOAD_HANDLERS
'''
預設: {}
儲存專案中啟用的下載處理器(request downloader handler)的字典。 例子請檢視 DOWNLOAD_HANDLERS_BASE 。
DOWNLOAD_HANDLERS_BASE
預設:
{
    'file': 'scrapy.core.downloader.handlers.file.FileDownloadHandler',
    'http': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',
    'https': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',
    's3': 'scrapy.core.downloader.handlers.s3.S3DownloadHandler',
}
儲存專案中預設啟用的下載處理器(request downloader handler)的字典。 永遠不要在專案中修改該設定,而是修改 DOWNLOADER_HANDLERS 。
如果需要關閉上面的下載處理器,您必須在專案中的 DOWNLOAD_HANDLERS 設定中設定該處理器,併為其賦值為 None 。 例如,關閉檔案下載處理器:
DOWNLOAD_HANDLERS = {
    'file': None,
}'''
DOWNLOAD_TIMEOUT
'''
預設: 180
下載器超時時間(單位: 秒)。'''

LOG
'''
LOG_ENABLED
預設: True
是否啟用logging。
LOG_ENCODING
預設: 'utf-8'
logging使用的編碼。
LOG_FILE
預設: None
logging輸出的檔名。如果為None,則使用標準錯誤輸出(standard error)。
LOG_LEVEL
預設: 'DEBUG'
log的最低級別。可選的級別有: CRITICAL、 ERROR、WARNING、INFO、DEBUG。更多內容請檢視 Logging 。
LOG_STDOUT
預設: False
如果為 True ,程序所有的標準輸出(及錯誤)將會被重定向到log中。例如, 執行 print 'hello' ,其將會在Scrapy log中顯示。'''

RANDOMIZE_DOWNLOAD_DELAY
'''
預設: True
如果啟用,當從相同的網站獲取資料時,Scrapy將會等待一個隨機的值 (0.5到1.5之間的一個隨機值 * DOWNLOAD_DELAY)。
該隨機值降低了crawler被檢測到(接著被block)的機會。某些網站會分析請求, 查詢請求之間時間的相似性。
隨機的策略與 wget --random-wait 選項的策略相同。
若 DOWNLOAD_DELAY 為0(預設值),該選項將不起作用
'''

相關推薦

Scrapy框架中setting 中的含義

一、setting 自動生成的內容含義 # -*- coding: utf-8 -*- # Scrapy settings for taoCarTest project # # For simplicity, this file contains only settings consi

scrapy---setting含義

# -*- coding: utf-8 -*- # Scrapy settings for lizi project # # For simplicity, this file contains only settings considered important or # commonly used.

ps -ef |grep 含義

ps -ef |grep *** 欄位含義如下: UID PID PPID C STIME TTY TIME CMD zzw 14124 13991 0 00:38

Android中top命令含義

   68      0         0%      D               1           0K           0K         fg              root       COMIP Battery s   399    0         0%      S   

Linux系統 /etc/fstab各個含義解釋

 # fstab檔案的作用   檔案/etc/fstab存放的是系統中的檔案系統資訊。當正確的設定了該檔案,則可以通過"mount /directoryname"命令來載入一個檔案系統,每種檔案系統都對應一個獨立的行,每行中的欄位都有空格或tab鍵分開。同時fsck、 mou

關於odoo中__mainfest__.py含義、功能詳解

mainfest.py 注:本文摘自《odoo10.0官方文件》 翻譯:李海振 清單檔案用於將python包宣告為Odoo模組並指定模組元資料。 它是一個名為的檔案__manifest__.py,包含一個Python字典,其中每個鍵指定模組元資料。 可用的清

/etc/fstab 各個含義

/etc/fstab  各個欄位含義 一、fstab檔案的作用 檔案/etc/fstab存放的是系統中的檔案系統資訊。當正確的設定了該檔案,則可以 通過"mount /<directoryname>"命令來載入一個檔案系統,每種檔案系統都對應一個獨立的行,每行中的欄位都有空格或tab鍵分開。同

mysql 資料型別 phpmyadmin新建含義

文章來源 mysql 資料型別 1、整型 MySQL資料型別 含義(有符號) tinyint(m) 1個位元組  範圍(-128~127) smallint(m) 2個位元組  範圍(-32768~32767) mediumint(m) 3個位元組 

fiddler各含義

#:順序號,按照抓包的順序從1遞增Result:HTTP狀態碼Protocol:請求使用的協議,如HTTP/HTTPS/FTP等HOST:請求地址的主機名或域名URL:請求資源的位置Body:請求大小Caching:請求的快取過期時間或者快取控制值Content-Type:請

linux ipcs含義 共享記憶體刪除 ipcs dest狀態

//檢視共享記憶體 [[email protected] shell]$ ipcs  ------ Shared Memory Segments -------- key        shmid      owner      perms      bytes

scrapy框架Header中使用Content-Length使爬蟲返回400錯誤的問題

之前在抓一個網站Danaos的時候,發現能用requests和postman傳送同樣的header和payload的時候都能得到正確的結果,但是scrapy就會返回400錯誤,後來發現這是Twisted本身存在的問題,看了官網也沒找到解決方法 spider檔案在這裡: class Da

scrapy抓取拉勾網職位資訊(四)——對進行提取

上一篇中已經分析了詳情頁的url規則,並且對items.py檔案進行了編寫,定義了我們需要提取的欄位,本篇將具體的items欄位提取出來 這裡主要是涉及到選擇器的一些用法,如果不是很熟,可以參考:scrapy選擇器的使用   依舊是在lagou_c.py檔案中編寫程式碼 首先是匯入Lag

myslq運維查詢慢查詢,需要關注的含義

在運維平臺,關注那些欄位,才能解決慢查詢的問題。     checksum:  snippet: sql index_ratio: Rows_examined_sum ÷ Rows_sent_sum query_time_avg: 平均執行時間 row

TIMESTAMP型別在SQL Server和MySQL中的含義和使用

公眾號上轉的滿天飛的一篇文章,MySQL優化相關的,無意中瞄到一句“儘量使用TIMESTAMP而非DATETIME”,之前對TIMESTAMP也不太熟悉,很少使用,於是查了一下兩者的區別。 其實,不管在SQL Server中還是MySQL中,“儘量使用TIMESTAMP而非DATETIME”都是有問題的

mysql查詢計劃各含義

1.檢視執行計劃: explain + sql語句 select_type 查詢的型別,主要是用於區分普通查詢、聯合查詢、子查詢等複雜的查詢 1、SIMPLE:簡單的select查詢,查詢中不包含子查詢或者union 2、PRIMARY:查詢中包含任何複雜的子部分,最外層查詢則被標記

oracle資料庫表右鍵屬性各個含義

  Column Datatype NULL Description OWNER VARCHAR2(30) NOT NULL 屬主 TABL

linux ls -l 命令出現含義

這個命令可以使用長格式顯示檔案內容,如果需要察看更詳細的檔案資料,就要用到ls-l這個指令。例如我在某個目錄下鍵入ls-l可能會顯示如下資訊  檔案屬性 檔案數 擁有者 所屬的group 檔案大小 建檔日期 檔名JacobdeMacBook-Pro:~ Jacob$ ls -

TCP層,flags標識含義說明

在TCP層,有個FLAGS欄位,這個欄位有以下幾個標識:SYN, FIN, ACK, PSH, RST, URG 它在報文封裝中的位置如下 其中,對於我們日常的分析有用的就是前面的五個欄位。 它們的含義是: SYN表示建立連線, FIN表示關閉連線, ACK表示響應,

Scrapy框架的學習(6.item介紹以及items的使用(提前定義好名))

在Scrapy框架中的items.py的作用   1.可以預先定義好要爬取的欄位     items.py import scrapy class TencentItem(scrapy.Item): # define the f

【Python】Scrapy ItemLoader 處理空列表讓資料庫為空值

問題描述 我需要爬取某些招聘網頁上的資訊,但不是所有招聘網頁中展示的資訊都一樣,例如有些網頁上並沒有附上公司網址,而如果沒有需要在資料庫相應的欄位中賦值為空。 方法一:不使用itemLoader 使用extract_first()取得列表第一個元素,預設值為‘’