urllib <urlopen error [Errno xxx] Connection refused>

在使用urllib获取web code status时报出这个错误。在stackOverflow上找到两种解决方案,在此记下,以供自己或他人查询。

出现此错误的原因是:网站限制每秒钟访问的次数

方案一 头方法
在脚本中添加特定的访问头

import urllib2

HEADERS = {'user-agent': ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)'
                          'AppleWebKit/537.36 (KHTML, like Gecko)'
                          'Chrome/45.0.2454.101 Safari/537.36'),
                          'referer': 'http://stats.nba.com/scores/'}

res = urllib2.Request(url, headers = HEADERS)
print urllib2.urlopen(res).read()

当然,如果使用的requests库也是一样

res = requests.get(url, headers = HEADERS)

方法二 添加延时操作
在两次访问的中间,添加延时等待

import time

time.sleep(t) #t表示延迟的秒数

参考的stackOverflow地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值