在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 自動限速(AutoThrottle)擴展
Benchmarking
命令行工具(Command line tools)
下載器中間件(Downloader Middleware)
信號(Signals)
Telnet 終端(Telnet Console)
初窺 Scrapy
數(shù)據(jù)收集(Stats Collection)
Scrapyd
通用爬蟲(Broad Crawls)
Item Loaders
試驗階段特性
Scrapy 入門教程
自動限速(AutoThrottle)擴展
Settings
Scrapy 終端(Scrapy shell)
下載項目圖片
DjangoItem
調(diào)試(Debugging)Spiders
選擇器(Selectors)
Feed exports
Spiders Contracts
借助 Firefox 來爬取
Logging
Spiders
Ubuntu 軟件包
實踐經(jīng)驗(Common Practices)
安裝指南
Item Exporters
擴展(Extensions)
Items
Spider 中間件(Middleware)
異常(Exceptions)
例子
發(fā)送 email
架構(gòu)概覽
常見問題(FAQ)
Jobs:暫停,恢復(fù)爬蟲
核心 API
使用 Firebug 進行爬取
Item Pipeline
Link Extractors
Web Service
調(diào)試內(nèi)存溢出

自動限速(AutoThrottle)擴展

該擴展能根據(jù) Scrapy 服務(wù)器及您爬取的網(wǎng)站的負載自動限制爬取速度。

設(shè)計目標

  1. 更友好的對待網(wǎng)站,而不使用默認的下載延遲 0。
  2. 自動調(diào)整 scrapy 來優(yōu)化下載速度,使得用戶不用調(diào)節(jié)下載延遲及并發(fā)請求數(shù)來找到優(yōu)化的值。 用戶只需指定允許的最大并發(fā)請求數(shù),剩下的都交給擴展來完成。

擴展是如何實現(xiàn)的

在 Scrapy 中,下載延遲是通過計算建立 TCP 連接到接收到 HTTP 包頭(header)之間的時間來測量的。

注意,由于 Scrapy 可能在忙著處理 spider 的回調(diào)函數(shù)或者無法下載,因此在合作的多任務(wù)環(huán)境下準確測量這些延遲是十分苦難的。 不過,這些延遲仍然是對 Scrapy(甚至是服務(wù)器)繁忙程度的合理測量,而這擴展就是以此為前提進行編寫的。

限速算法

算法根據(jù)以下規(guī)則調(diào)整下載延遲及并發(fā)數(shù):

  1. spider 永遠以 1 并發(fā)請求數(shù)及 AUTOTHROTTLE_START_DELAY 中指定的下載延遲啟動。
  2. 當接收到回復(fù)時,下載延遲會調(diào)整到該回復(fù)的延遲與之前下載延遲之間的平均值。

注解

AutoThrottle 擴展尊重標準 Scrapy 設(shè)置中的并發(fā)數(shù)及延遲。這意味著其永遠不會設(shè)置一個比 DOWNLOAD_DELAY 更低的下載延遲或者比 CONCURRENT_REQUESTS_PER_DOMAIN 更高的并發(fā)數(shù) (或 CONCURRENT_REQUESTS_PER_IP,取決于您使用哪一個)。

設(shè)置

下面是控制 AutoThrottle 擴展的設(shè)置:

  • AUTOTHROTTLE_ENABLED
  • AUTOTHROTTLE_START_DELAY
  • AUTOTHROTTLE_MAX_DELAY
  • AUTOTHROTTLE_DEBUG
  • CONCURRENT_REQUESTS_PER_DOMAIN
  • CONCURRENT_REQUESTS_PER_IP
  • DOWNLOAD_DELAY

更多內(nèi)容請參考限速算法。

AUTOTHROTTLE_ENABLED

默認:False

啟用 AutoThrottle 擴展。

AUTOTHROTTLE_START_DELAY

默認:5.0

初始下載延遲(單位:秒)。

AUTOTHROTTLE_MAX_DELAY

默認:60.0

在高延遲情況下最大的下載延遲(單位秒)。

AUTOTHROTTLE_DEBUG

默認:False

起用 AutoThrottle 調(diào)試(debug)模式,展示每個接收到的 response。您可以通過此來查看限速參數(shù)是如何實時被調(diào)整的。