我是靠谱客的博主 害羞香烟,这篇文章主要介绍Scrapy 下载并发与限制并发延迟,现在分享给大家,希望可以做个参考。

Scrapy 下载并发与限制

  • 并发
  • 延迟

并发

主要有三个设置项来控制下载器的容量:CONCURRENT_REQUESTS,CONCURRENT_REQUESTS_PER_DOMAIN和 CONCURRENT_REQUESTS_PER_IP

第一个设置项提供了一个粗略的控制,无论如何不会有超过CONCURRENT_REQUESTS数目的请求被并发下载。在另一方面,如果你的目标域名只是一个或者少数的几个,那么CONCURRENT_REQUESTS_PER_DOMAIN可能就会提供对并发请求数目的更进一步的限制。不过如果你设置了CONCURRENT_REQUESTS_PER_IP,那么CONCURRENT_REQUESTS_PER_DOMAIN就会被忽略,这时的限制会是针对每个IP的。在很多域名都反射一个服务器的时候,这会帮你避免过度地访问远程服务器。
为了使我们的分析工作简单一点,我们把CONCURRENT_REQUESTS_PER_IP保持为默认值(0),这样就禁用了对每个IP的限制,并且把CONCURRENT_REQUESTS_PER_DOMAIN设置成一个很大的值(1000000) 。这样的设置实际上就是禁用了这些限制,这样下载器的并发请求数目就只由CONCURRENT_REQUESTS来控制了。

延迟

另外一个重要参数:DOWNLOAD_DELAY
下载器在下载同一个网站下一个页面前需要等待的时间。该选项可以用来限制爬取速度, 减轻服务器压力。同时也支持小数:建议视爬取网站来定,如果是大型数据网站或已知有反爬虫措施网站,使用ip池的情况下1-2秒之间,否则就看你的爬取程度和网站来定(适当增加并发而不要充满恶意)
还有代理池的使用
最后也是最重要的:优化你的代码,少跑非法链接,适当合并爬虫,对于可能报错的地方进行异常处理等

原文链接:https://blog.csdn.net/qq_34798152/article/details/79944729

最后

以上就是害羞香烟最近收集整理的关于Scrapy 下载并发与限制并发延迟的全部内容,更多相关Scrapy内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部