2012-01-16 41 views
1

当执行一个python脚本时,它会在大约2到3分钟后删除历史推文 。得到以下错误!奇怪的Python错误3分钟。执行twitter脚本后?

我真的不知道这意味着什么

,我怎么能防止这种情况发生

我,因为执行每个刮环我检查之前是在挑衅我的速率限制,并将其返回为真!

感谢您的帮助

Traceback (most recent call last): 
    File "twitter.py", line 13, in <module> 
openurl = urllib.urlopen("https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&contributor_details&include_rts=true&screen_name="+user+"&count=3600") 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 84, in urlopen 
return opener.open(url) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 205, in open 
return getattr(self, name)(url) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 449, in open_https 
return self.http_error(url, fp, errcode, errmsg, headers) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 369, in http_error 
result = method(url, fp, errcode, errmsg, headers) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 691, in http_error_401 
errcode, errmsg, headers) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 379, in http_error_default 
raise IOError, ('http error', errcode, errmsg, headers) 
IOError: ('http error', 401, 'Unauthorized', <httplib.HTTPMessage instance at 0x1005ca9e0>) 

脚本的作品完美,但再经过2-3分钟就老是打断....

+0

好像限速虽然。您在每个抓取循环中执行多少个请求? – bouke 2012-01-16 14:02:47

+0

我执行两个!我把脚本打印出来的速度限制是38! – 2012-01-16 14:08:19

回答

2

Twitter的API有时速限制 https://dev.twitter.com/docs/rate-limiting 尝试150查询在一个查询中查询多个推文。 我想解释随附401响应 试试这个

try: 
    response = urllib2.urlopen..... 
except urllib2.HTTPError as e: 
    error = e.read() # this will be your error message 
    print error