繁体   English   中英

如何避免 Twython 中的速率限制 429 错误

[英]How to avoid rate-limiting 429 error in Twython

我创建了一个函数,旨在通过 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 个句柄,所以我认为会有很多可用的调用。

有什么修复方法?

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

另请注意,它还会为每个请求返回最多 5000 个 ID,因此您必须为高度关注的用户发出更多请求。 例如,只有Barack Obama 的40434976/(5000*60*24) = 5.62列表需要40434976/(5000*60*24) = 5.62天才能加载。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM