我是靠谱客的博主 甜蜜老师,最近开发中收集的这篇文章主要介绍爬虫框架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.解决方法:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部