【问题标题】:Is there a way around twitter's rate limit? A pricing plan perhaps?有没有办法绕过 Twitter 的速率限制?也许是定价计划?
【发布时间】:2013-10-02 17:03:39
【问题描述】:

我正在从事一个需要从 twitter 获取推文和用户信息的项目。我什至无法测试当前系统,因为我一直在达到 twitter 速率限制。有什么办法解决吗?

我希望从每个状态中提取的基本信息是:

  • 状态文本
  • 用户关注者计数
  • 用户关注计数
  • 转推数
  • 地理位置坐标

我正在使用 Twitter4J API 来执行此操作。 任何帮助将不胜感激。提前致谢。
编辑
我正在使用 twitter 的搜索 API 来获取推文列表。

【问题讨论】:

  • 我不会投票结束,但是关于在线服务的问题不是编程问题,即使通过 API 访问 Web 服务。
  • 这个问题似乎是题外话,因为它属于 Twitter 客户服务。
  • 我对这个问题没有意见。在使用 Twitter 时,您可以使用特定的编程技术来最大化速率限制。能够更改代码以优化速率限制可以提高应用程序的能力和可扩展性。对在线服务 API 进行编码正变得越来越流行,并且需要技术知识体系才能有效地使用它们。

标签: twitter twitter4j


【解决方案1】:

一种选择是使用可以出售推文的Twitter Data Reseller(例如 GNIP)。

另一个选择是最大限度地利用 API。以下是一些提示:

  1. 检查您使用的每个 API 的 Rate Limit Status,以确保您不会超过以及何时重置速率限制(目前每 15 分钟一次)。
  2. 查看参数以确保您请求计算该 API 的最大推文数。例如计数可以默认为 20,但您可以将其设置为 200,具体取决于特定端点的可用性和限制。这可能会减少您必须进行的查询次数。
  3. 根据 Twitter 的 Working with Timelines 指南对您的结果进行分页。使用SinceID 和MaxID 确保您只请求新推文。这可以通过减少您需要的推文数量(通过增加保持在最大数量范围内的机会)来减少请求,并通过避免查询您已有的推文来减少请求数量。
  4. 本质上,您希望检查端点参数,以了解如何减少带宽并减少您必须进行的查询次数。

【讨论】:

  • 我发现我可以通过将页数设置为 100 来暂时减少点击次数。默认情况下,twitter4j 将此计数设置为 15。我通过 Query query = new Query(searchString); query.count(100);
猜你喜欢
  • 1970-01-01
  • 2020-08-29
  • 2021-10-04
  • 1970-01-01
  • 2015-07-21
  • 1970-01-01
  • 2021-01-19
  • 2021-10-18
相关资源
最近更新 更多