3

我创建了一个函数,旨在通过一列 Twitter 处理 pandas 数据框运行,但它似乎总是在 14 次调用后遇到速率限制错误。

这是代码。

def poll_twitter(dfr):
    followers  = twitter.get_followers_ids(screen_name = dfr['handle'])
    time.sleep(5)
    print "looping..."
    return len(followers['ids'])

df[datetime.datetime.today()] = df.apply(poll_twitter, axis=1)    

这是错误

TwythonRateLimitError: (u'Twitter API 返回 429 (Too Many Requests), Rate limit exceeded'

该列表只有 100 个句柄,所以我认为会有很多可用的调用。

修复它的方法是什么?

4

2 回答 2

3

API 1.1 版本中的Twitter GET follower/ids端点有 15 个请求/每个窗口(15 分钟)的限制,即每小时大约 60 个请求。

另请注意,它还会为每个请求返回多达 5000 个 id,因此您必须为高度关注的用户发出更多请求。例如,只有巴拉克奥巴马的追随者名单需要40434976/(5000*60*24) = 5.62几天时间才能加载。

于 2013-12-10T10:30:44.007 回答
0

您可以使用 Twython 的 get_lastfunction_header('x-rate-limit-remaining')。

于 2020-07-06T20:07:31.500 回答