【问题标题】:Twitter Streaming API to follow thousands of usersTwitter Streaming API 关注成千上万的用户
【发布时间】:2014-12-29 15:31:08
【问题描述】:

我正在考虑使用 Twitter 流 API(公共流)来跟踪许多用户(最多 100k)的最新推文。尽管阅读了有关不同速率限制的各种资料,但我仍然有几个问题:

  • 根据文档:The default access level allows up to 400 track keywords, 5,000 follow userids。关注更多 5k 用户的最佳实践是什么?例如,创建 20 个应用程序以获得 20 个不同的访问令牌?

  • 如果我只关注一个用户,那么“你收到大约 1% 的推文”的经验法则真的适用吗?如果我将更多用户添加到 5k,这会如何变化?

  • 使用 REST API 可能是一种合理的替代方案,例如,通过每分钟轮询用户的最新推文?

【问题讨论】:

    标签: twitter tweepy twython


    【解决方案1】:

    更多关注 5k 用户的最佳做法是什么。例如,创建 20 个应用程序以获得 20 个不同的访问令牌?

    您不想使用多个应用程序。来自模组的This response 很好地总结了这种情况。 Twitter Streaming API 文档还特别指出了尝试这样做的开发人员:

    每个帐户只能创建一个到公共端点的常设连接,并且使用相同的帐户凭据多次连接到公共流将导致最旧的连接断开。

    进行过多连接尝试(成功和不成功)的客户端将面临其 IP 被自动禁止的风险。

    速率限制是一种速率限制——你不能得到比 Twitter 允许的更多的东西。

    如果我只关注一个用户,那么“你获得了大约 1% 的推文”的经验法则真的适用吗?如果我将更多用户添加到 5k,这会如何变化?

    1% 的规则仍然适用,但在给定的时间间隔内,一个用户不太可能不可能至少负责所有推文量的 1%。更多的用户意味着更多的推文,但除非所有 5k 都是非常高容量的推文发布者,否则你不应该有问题。

    以某种方式使用 REST API 可能是一种合理的选择,例如,通过每分钟轮询用户的最新推文?

    有趣的想法,但可能不是。您在 Search API 中也受到速率限制。对于GET/statuses/user_timeline,速率限制为每 15 分钟 180 个查询。您只能使用此端点获取一个用户的推文,并且常规 GET/search/tweets 不接受用户 ID 作为参数,因此您无法利用这一点(同样 180 次查询/15 分钟速率限制)。

    Twitter StreamingREST API 概述非常出色,值得深入阅读。不幸的是,Tweepy 的文档参差不齐,Twython 也好不了多少,但它们都直接利用了 Twitter API,因此这将使您很好地了解一切是如何工作的。祝你好运!

    【讨论】:

    • 路易吉,谢谢!该链接非常有用。不幸的是,关于如何超过 400 个关键字或 5,000 个关注者的问题尚未得到解答。连同你的回复,我有点假设没有直接的方法来关注 100k 用户(除了确实有 20 个用户跟踪 5k 用户)。我成功地尝试了 tweepy 和 twython。真的只是速率限制阻止我继续。再次,非常感谢!
    【解决方案2】:

    要超过 400 个关键字和 5k 个关注者,您需要申请企业访问权限。

    基本 400 个关键字、5,000 个用户 ID 和 25 个位置框 一个允许连接的一个过滤规则,调整规则需要断开连接

    企业 每个流最多 250,000 个过滤器,每个最多 2,048 个字符。 单个连接上数千条规则,使用规则 API 添加/删除规则无需断开连接

    https://developer.twitter.com/en/enterprise

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多