2017-08-31 196 views
0

我正在研究2016年竞选期间的社交媒体。我们希望利用Twitter的搜索API来获取大部分数据。对Twitter搜索API的调用次数是否有限制?

我们相信会有超过1亿个关键字的推文,并且希望创建一个脚本来使API调用并存储信息。如果我们按照Twitter的每15分钟450个请求的速率限制,Twitter是否会限制我们从API密钥提交的查询数量?是否有可能使用GET search/tweets并获得全部在2016年发布的推文和相关数据有文字希拉里特朗普

回答

0

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

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

当使用纯应用程序验证时,整个应用程序将全局确定速率限制 。如果一个方法允许每个速率限制窗口请求15个 ,那么它允许您代表您的应用程序在每个窗口中发出15个请求 。该限制被视为完全与每个用户限制分开的 。

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

考虑使用自己的流API。

+0

根据我对Twitter速率限制的计算,使用Search API获取1亿条推文大约需要25个小时。如果我遵守每个窗口15个请求的速率限制,Twitter会允许多少个电话?我需要历史推文,我认为Streaming API适用于新的推文。我对么? – Daniel

+0

我无法找到有关Streaming API是否用于新推文的任何信息,对不起。有两个初始桶可用于GET请求:每15分钟拨打15个电话,每15分钟拨打180个电话。以上答案是你最初的问题吗? – TrevorBrooks

1

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

不,如果您按照费率限制,Twitter不会限制您。使用Twitter4j,你可以问Twitter你有多少查询。

是否可以使用GET搜索/鸣叫并获得所有的 鸣叫,并在2016年有话希拉里 特朗普发布相关数据?

不,这是不可能的。正如documentation所述:

Search API不是所有推文的完整索引,而是最近推文的索引。目前该指数包含6至9天的推文。

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

在介入之前,了解Search API关注于相关性而不是完整性很重要。这意味着某些推文和用户可能会从搜索结果中遗失。如果您想匹配完整性,则应考虑使用Streaming API。

如果你真的需要旧的鸣叫像Gnip(你需要支付的费用),你将不得不从其他来源获得它们。否则,你将不得不面对不同的问题。

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