Twitter API限制

时间:2017-11-27 01:47:45

标签: python twitter web-scraping

我们已经制作了一个小工具,您可以在其中放入许多不同的Twitter帐户。让我们称他们为输入账户。该工具只列出了所有帐户的大清单"输入帐户"正在关注,然后根据帐户出现的频率对其进行排名。因此,在50个输入帐户中,帐户最多可以出现50次。运行该工具时,问题是这样的:

Exception in Tkinter callback
Traceback (most recent call last):
 File"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 1699, in call
    return self.func(*args)
  File "/Users/user1/Desktop/untitled folder 2/twitter1.py", line 67, in runThecode
    listt=returnFriends(accounts)
  File "/Users/user1/Desktop/untitled folder 2/twitter1.py", line 30, in returnFriends
    listFriends+=api.friends_ids(account)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tweepy/binder.py", line 245, in _call
    return method.execute()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tweepy/binder.py", line 227, in execute
    raise RateLimitError(error_msg, resp)
tweepy.error.RateLimitError: [{'message': 'Rate limit exceeded', 'code': 88}]

为什么会发生这种情况,我可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

Twitter限制了您在给定时间内可以提出多少api请求。由于您在短时间内执行了太多请求,因此超出了速率限制。阅读此博客文章了解更多信息。 https://blog.twitter.com/official/en_us/a/2008/what-does-rate-limit-exceeded-mean-updated.html

你必须做这样的事情。它是一个伪代码,因为你还没有添加任何示例代码。

// whatever is twitter rate limit reset time
private const retryInSeconds = 600; 

try {
  performApiRequest();
} catch (RateLimitException e) {
   wait for retryInSeconds then performApiRequest();
}