我不想同时抓取并阻止。我想每秒发送一个请求。如何在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