【问题标题】:Is there a limit to number of calls to Twitter Search API?对 Twitter 搜索 API 的调用次数是否有限制?
【发布时间】:2017-08-31 21:33:17
【问题描述】:

在 2016 年竞选期间,我正在研究社交媒体。我们想利用 Twitter 的搜索 API 来获取我们的大部分数据。

我们相信会有超过 1 亿条带有关键字的推文,并希望创建一个脚本来调用 API 并存储信息。如果我们遵循 Twitter 每 15 分钟 450 个请求的速率限制,Twitter 会限制我们从 API 密钥提交的查询数量吗?是否可以使用GET search/tweets 获取ALL 2016 年发布的带有HillaryTrump 字样的推文和相关数据? p>

【问题讨论】:

    标签: api twitter twitter4j


    【解决方案1】:

    如果我们遵循 Twitter 的每 15 个请求 450 个请求的速率限制 分钟,Twitter 会限制我们从我们的 API 密钥?

    不,如果您遵守速率限制,Twitter 不会限制您。使用 Twitter4j,您可以询问 Twitter 您还剩下多少查询。

    是否可以使用 GET 搜索/推文并获得 ALL 2016 年发布的带有希拉里字样的推文和相关数据 和特朗普?

    不,这不可能。正如documentation 所说:

    搜索 API 不是所有推文的完整索引,而是最近推文的索引。目前该索引包括 6-9 天的推文。

    因此,您只能从搜索 API 获取最近的推文。对数据也要小心,因为它是关于相关性而不是完整性,来自同一个文档:

    在参与之前,重要的是要知道 Search API 关注的是相关性而不是完整性。这意味着搜索结果中可能会丢失一些推文和用户。如果您想匹配完整性,您应该考虑使用 Streaming API。

    如果您确实需要较旧的推文,则必须从其他来源获取它们,例如 Gnip(您需要付费)。否则,您将不得不以不同的方式处理您的问题。

    如果您拥有想要获取信息的所有用户的姓名(或 ID),您可以从每个用户那里获得 timelines,从而获得最多 3200 条推文。

    【讨论】:

      【解决方案2】:

      是的,Twitter 将限制从您的 API 密钥提交的查询数量。获得您想要获得的所有推文将非常困难。

      API 的速率限制主要基于每个用户 - 或更多 准确描述,每个用户访问令牌。如果一种方法允许 15 每个速率限制窗口的请求,然后每个窗口允许 15 个请求 每个访问令牌。

      使用仅应用程序身份验证时,会确定速率限制 全局用于整个应用程序。如果一种方法允许 15 每个速率限制窗口的请求,然后它允许您发出 15 个请求 每个窗口 - 代表您的应用程序。考虑这个限制 完全独立于每个用户的限制。

      https://dev.twitter.com/rest/public/rate-limiting

      考虑使用他们的 Streaming API。

      【讨论】:

      • 根据我对 Twitter 速率限制的计算,使用 Search API 获得 1 亿条推文大约需要 25 小时。如果我遵守每个窗口 15 个请求的速率限制,Twitter 将允许多少次调用?我需要历史推文,我假设 Streaming API 用于新推文。我说的对吗?
      • 我找不到有关 Streaming API 是否适用于新推文的任何信息,抱歉。有两个初始存储桶可用于 GET 请求:每 15 分钟调用 15 次,每 15 分钟调用 180 次。以上是否回答了您最初的问题?
      猜你喜欢
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多