返回信息流错误提示:raise URLError(err) urllib2.URLError: <urlopen error [Errno 104] Connection reset by peer>
这个错误是由于,多次urlopen某个网址,结果被网址认定为攻击而关了connection,请问大家有什么好的解决办法,程序目前还是单线程的,功能是爬一个外文包含特定词汇的news。
我查找到的解决办法:
设置延时时间:
在程序一开头设置socket层的超时时间(虽然我不知道这个东西是什么)
timeout = 20
socket.setdefaulttimeout(timeout)#这里对整个socket层设置超时时间。后续文件中如果再使用到socket,不必再设置
然后在urlopen前,也就是request某个url之后,(虽然我知道很多时候有直接urlopen一个网址的语句,但是解决办法里让分成两句写)加一个time.sleep(5)的延时语句,我在windows8 下用pychar运行的时候是不会被该网站墙掉的,也就是可以正常怕几k条的数据,但是一放到 centos上(我的电脑不能24小时开着呀)刚怕几十条就出现了raise URLError(err) urllib2.URLError: <urlopen error [Errno 104] Connection reset by peer>这个错误。。。给跪了。。[ema1][ema1][ema1]
BTW,顺便请教各位有没有更好更快(其实设置延时挺影响效率的)办法,谢谢大家![ema13][ema13]
这是一条镜像帖。来源:北邮人论坛 / python / #4903同步于 2015/1/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
[讨论]请教一个错误urlopen error [Errno 104] Connection rese
shaonianpai
2015/1/17镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
跟urllib3有什么关系= =
我是让你放弃urllib2
【 在 shaonianpai 的大作中提到: 】
: 大神 确定是因为urllib3的问题么?
。。。。。。我是问这个问题和urllib2345有没有关系嘛
【 在 Chon 的大作中提到: 】
: 跟urllib3有什么关系= =
: 我是让你放弃urllib2
跟urllib2有关系,跟urllib3没有关系。
urllib2和urllib3是不同的东西。
【 在 shaonianpai 的大作中提到: 】
: 。。。。。。我是问这个问题和urllib2345有没有关系嘛
: