我不想同時抓取並阻止。我想每秒發送一個請求。如何在scrapy中的每個請求之間給出延遲?
回答
沒有爲一個setting:
DOWNLOAD_DELAY
默認:
0
的時間(以秒爲單位)的下載應該等待 從同一下載連續頁面之前量網站。這可以用 來限制爬網速度,以避免太大的打擊服務器。
DOWNLOAD_DELAY = 0.25 # 250 ms of delay
謝謝。它工作:) – 2012-01-08 06:40:12
如果你把'DOWNLOAD_DELAY = 1',我認爲你不能在一分鐘內得到60頁。它也受下載速度和各種開銷的限制。我會說它只會給你一個上限,所以你不會打太多的目標網站。 – 2014-08-27 18:46:40
您還可以設置「download_delay」蜘蛛屬性,如果你不希望有一個全球的下載延遲。見http://doc.scrapy.org/en/latest/faq.html#what-does-the-response-status-code-999-means
class S(Spider):
rate = 1
def __init__(self):
self.download_delay = 1/float(self.rate)
率設置頁面的最大量可以在一秒鐘內下載。
你可以添加一個描述或者說一些解釋。按照現狀,我必須爲刪除投票。 – Numeron 2014-08-20 03:48:01
延遲可我們在第2集說: -
我們可以同時運行履帶指定的延遲。例如, scrapy抓取樣品--set DOWNLOAD_DELAY = 3(這意味着兩個請求之間3秒的延遲)
或者我們可以在settings.py Globaly指定默認scrapy DOWNLOAD_DELAY = 3
需要在0.25秒的延遲2個請求。
如果你想保持下載延遲一秒鐘,設置DOWNLOAD_DELAY=1
是做到這一點的方法。
但scrapy還具有自動設置下載延遲AutoThrottle
的功能。它會根據Scrapy服務器和您正在爬取的網站的負載自動設置延遲。這比設置任意延遲更好。
閱讀進一步瞭解這個上http://doc.scrapy.org/en/1.0/topics/autothrottle.html#autothrottle-extension
我爬100多個域名,而不是被封閉自動油門開啓
除了DOWNLOAD_DELAY,您還可以使用scrapy的自動油門功能, https://doc.scrapy.org/en/latest/topics/autothrottle.html
它根據設置文件更改請求之間的延遲量。如果您爲啓動延遲和最大延遲設置1,則每次請求都會等待1秒。
它的原始目的是改變延遲時間,所以你的機器人的檢測會更困難。
你只需要設置在settings.py如下:
AUTOTHROTTLE_ENABLED = True
AUTOTHROTTLE_START_DELAY = 1
AUTOTHROTTLE_MAX_DELAY = 3
- 1. scrapy中的延遲請求
- 2. wget中的請求之間的延遲
- 3. 添加延遲後500個請求scrapy
- 4. 如何在Tweepy StreamListener中的每個請求之間添加延遲?
- 5. Curl:請求之間的睡眠/延遲
- 6. 如何在Web API中的兩個併發Web請求之間給出時間延遲
- 7. jQuery之間的每個toggleclass延遲
- 8. 每個foreach之間的延遲javascript/php
- 9. 每個迭代之間的延遲()
- 10. IIS在每個響應與異步請求之間延遲很多
- 11. 各個HTTP GET文件請求之間的瀏覽器延遲
- 12. 如何在每個TestCase之間延遲執行JUnit TestSuite?
- 13. http請求延遲
- 14. 延遲Alamofire請求
- 15. 延遲Ajax請求
- 16. 爲什麼我們在重試請求之間應用延遲
- 17. 異步請求之間的JS人工延遲
- 18. XMLHTTP請求的延遲
- 19. 需要在每個元素之間添加時間延遲
- 20. JMeter:每個線程之間的延遲時間創建
- 21. 如何更改Scrapy中的用戶代理和延遲時間?
- 22. 如何檢查HTTP請求延遲/等待時間的原因?
- 23. Ajax請求延遲1秒
- 24. MVC3請求延遲需要
- 25. MouseWheelZoom後延遲WMS請求
- 26. 確定請求延遲
- 27. 延遲請求/響應
- 28. 如何延遲3秒。開始之前發送請求ajax?
- 29. Volley:JsonObjectRequest中的onResponse延遲請求
- 30. 多個順序觀察與及時之間的延遲每個人之間
[這裏](HTTP://計算器。com/questions/30404364/scrapy-delay-request)你有一個明確的解決方案。 – hereje 2016-06-15 17:56:19