我正在研究2016年活动期间的社交媒体。我们希望利用Twitter的Search API来获取大部分数据。
我们相信将有超过1亿条包含关键字的推文,并希望创建一个脚本来进行API调用并存储信息。如果我们按照Twitter每15分钟450个请求的速率限制,Twitter会限制我们从API密钥提交的查询数量吗?是否可以使用GET search/tweets并获取所有推文以及2016年发布的包含 Hillary 和 Trump 字样的相关数据?
答案 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个请求 每个窗口 - 代表您的应用程序。考虑此限制 完全独立于每个用户的限制。
使用他们的Streaming API。