您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

urllib2 HTTP错误429

urllib2 HTTP错误429

https://github.com/reddit/reddit/wiki/API

许多用户代理(例如“ Python / urllib”或“ Java”)都受到严格限制,以鼓励使用唯一且具有描述性的用户代理字符串。

这也适用于常规请求。发出请求时,您需要提供自己的用户代理标头。

#TODO: change user agent string
hdr = { 'User-Agent' : 'super happy flair bot by /u/spladug' }
req = urllib2.Request(url, headers=hdr)
html = urllib2.urlopen(req).read()

但是,这将为每个请求创建一个新的连接。我建议用另一种库,能够重新使用连接的httplib请求,例如。它将减轻服务器的压力并加快请求的速度:

import httplib
import time

lst = """
science
scifi
"""

hdr= { 'User-Agent' : 'super happy flair bot by /u/spladug' }
conn = httplib.httpconnection('www.reddit.com')
for name in lst.split():
    conn.request('GET', '/r/'+name, headers=hdr)
    print conn.getresponse().read()
    time.sleep(2)
conn.close()
其他 2022/1/1 18:31:33 有388人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶