【问题标题】:How to avoid rate-limiting 429 error in Twython如何避免 Twython 中的限速 429 错误
【发布时间】:2013-12-27 18:21:17
【问题描述】:

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

修复的方法是什么?

【问题讨论】:

    标签: python twitter pandas twython


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。我最终使用请求来简单地获取我需要的摘要统计信息而无需身份验证。
    • @elksie5000 如果您只需要计数,请查看users/lookup endpoint,它会返回最多 100 个用户的统计信息,包括 follower_counts。
    • 更好 :) 再次感谢您
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 2021-07-23
      相关资源
      最近更新 更多