Twitter随机率限制

时间:2013-06-22 20:43:01

标签: python twitter rate-limiting python-twitter

我正在尝试使用python-twitter API检索用户的朋友网络。我正在使用getFriendIDs()方法,该方法检索特定Twitter用户所关注的所有帐户的ID。以下是我的测试代码的一小段内容:

for item in IdList:
    aDict[item] = api.GetFriendIDs(user_id=item,count=4999)
    print "sleeping 60"
    time.sleep(66)
    print str(api.MaximumHitFrequency())+" The maximum hit frequency"
    print api.GetRateLimitStatus()['resources']['friends']['/friends/ids']['remaining']

IdList中有35个(推特用户帐户)ID,我检索的每个项目最多4999个ID,ID为“item”的当前用户正在关注。我知道twitter的新速率限制,其中速率限制窗口已从60分钟更改为15分钟,并且他们建议您不要每分钟向服务器发出多个请求(api.MaximumHitFrequency( ))。所以15分钟内基本上有15个请求。这正是我正在做的事实上我每66秒而不是60秒向服务器发出请求但是在6次请求后我得到了速率限制错误。我无法弄清楚为什么会这样。如果有其他人遇到此问题,请告诉我。

1 个答案:

答案 0 :(得分:0)

看看https://github.com/bear/python-twitter/wiki/Rate-Limited-API---How-to-deal-with

此外,使用较新版本的python-twitter代码可能会有所帮助。已使用https://github.com/bear/python-twitter/commit/25cccb81fbeb4c630a0024981bc98f7fb41f3933修改了MaximumHitFrequency和GetRateLimitStatus方法。