对Twitter Search API的调用次数是否有限制?

时间:2017-08-31 21:33:18

标签: api twitter twitter4j

我正在研究2016年活动期间的社交媒体。我们希望利用Twitter的Search API来获取大部分数据。

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

2 个答案:

答案 0 :(得分:1)

  

如果我们遵循Twitter的每15个请求的450个请求的速率限制   分钟,Twitter会限制我们提交的查询数量   API密钥?

不,如果您遵循速率限制,Twitter不会限制您。使用Twitter4j,您可以向Twitter询问您剩下的查询数量。

  

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

不,它不可能。正如documentation所述:

  

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

因此,您只能从搜索API获取最近的推文。在相同的文档中,请注意数据的相关性而不是完整性:

  

在介入之前,重要的是要知道Search API专注于相关性而非完整性。这意味着搜索结果中可能缺少某些推文和用户。如果要匹配完整性,则应考虑使用Streaming API。

如果您真的需要较旧的推文,则必须从其他来源获取,例如Gnip(您需要付费)。否则你将不得不采取不同的方式解决你的问题

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

答案 1 :(得分:0)

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

  

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

     

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

     

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

使用他们的Streaming API。