我是靠谱客的博主 腼腆吐司,最近开发中收集的这篇文章主要介绍Scrapy项目之User timeout caused connection failure(异常记录),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Windows 10家庭中文版,Python 3.6.4,Scrapy 1.5.0,

 

提示:此文存在问题,真正测试, 请勿阅读,

 

07-14 14:26更新:

经过两个多小时的测试,发现此问题的原因是 昨天编写爬虫程序后,给爬虫程序添加了下面的属性:

download_timeout = 20

此属性的解释:

The amount of time (in secs) that the downloader will wait before timing out.

在获取某网站的子域名的robots.txt文件时,需要的时间远远超过20秒,因此,即便有三次重试的机会,也会最终失败。

此值默认为180,因为某网站是国内网站,因此,孤以为它的文件全部都会下载的很快,不需要180这么大,于是更改为20,谁知道,其下子域名的robots.txt却需要这么久:

测试期间更改为30时,状况好了,目前已取消设置此值,已能抓取到需要的数据。

可是,为什么robots.txt会下载这么慢呢?

 

删除Request中定义的errback进行测试,也可以获取到需要的数据。

那么,在Request中定义errback有什么用呢?

 

现在,再次在项目内、项目外执行下面的命令都不会发生DNSLookupError了

最后

以上就是腼腆吐司为你收集整理的Scrapy项目之User timeout caused connection failure(异常记录)的全部内容,希望文章能够帮你解决Scrapy项目之User timeout caused connection failure(异常记录)所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部