urllib

在使用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地址

你可能感兴趣的:(python)