我是靠谱客的博主 甜蜜老师,最近开发中收集的这篇文章主要介绍爬虫框架Scrapy使用IP代理,DOWNLOAD_TIMEOUT不起作用的解决方法1.运行环境:2.问题描述:3.解决方法:,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1.运行环境:
Linux/Window 10 + Scrapy 1.7.4
2.问题描述:
借助scrapy框架采集数据时,采集完第一条数据后,卡住不动,6,7分钟之后才开始采集下一条,如下图。
还有间隔10几分钟的,没截到图,就放了这张图意思意思。若是一直这样超时不报异常,无法触发异常机制再次发起请求,就会导致采集效率太低了。
其实按道理在settings.py中设置:
DOWNLOAD_TIMEOUT = 60
针对单个脚本进行配置:
custom_settings = {
'DOWNLOAD_TIMEOUT': 60,
}
如此设置之后,本该若是请求时间超过60秒,就会报异常,异常机制是会再次发起请求的,但是卡住不动,异常也无法获取。
3.解决方法:
上面的设置都不起作用,没法,又去翻了一遍scrapy文档
然而
走投无路之下尝试用meta携带download_timeout到相应请求中,结果惊讶的发现,起作用了。超时之后成功触发异常,这…
是的,就是下面这行代码,解决了这个问题:
meta={'download_timeout': 60}
就很纳闷,为什么明明设置了全局超时控制,却不起作用,还得另外单独设置。。。
转载请注明转自:https://leejason.blog.csdn.net/article/details/106380324
最后
以上就是甜蜜老师为你收集整理的爬虫框架Scrapy使用IP代理,DOWNLOAD_TIMEOUT不起作用的解决方法1.运行环境:2.问题描述:3.解决方法:的全部内容,希望文章能够帮你解决爬虫框架Scrapy使用IP代理,DOWNLOAD_TIMEOUT不起作用的解决方法1.运行环境:2.问题描述:3.解决方法:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复