通过Twitter Streaming API获取所有过去的推文

时间:2011-04-17 18:37:28

标签: api streaming twitter

如何通过Twitter Streaming API获取所有过去的推文?您可能知道它会发送实时推文,而不是过去推文。有用的计数参数在2010年被禁用.REST API具有如此糟糕的限制,以至于需要一生的时间来获取所有过去的推文。 有没有解决方案?

3 个答案:

答案 0 :(得分:8)

很抱歉,除非您有提升权限(例如,Firehose,转推,链接,Birddog或Shadow),否则您无法从streaming API获取历史推文。您可以通过发送电子邮件至twitter dot com api来请求其他访问权限。请注意,您使用计数 cannot use 跟踪参数。

使用计数时,只有通过Twitter发送的最后150,000个状态可用。引用Twitter文档:

  

在未过滤的流上,所有已考虑的状态都已传递,因此请求的数量是返回的数字。在过滤的流上,请求的数量是应用于过滤谓词的状态数,而不是返回的状态数。

此外,包含最后150,000条推文的循环缓冲区的速度为subject,与它们流出Twitter的速度相同。因此,如果当前的推文速率是每秒600条推文,那么缓冲区只保存最后250秒的数据,如果您只对几个用户感兴趣,那么缓冲区中的推文可能不会超过几条,如果有的话。

如果您经过身份验证,REST API 允许您每天拨打1,680,000条推文,但真正的限制因素是您每个用户只能获得3,200条推文。搜索API更糟糕,因为它目前似乎只返回来自特定目标的大约四天的推文。

注意:在亚伯拉罕带来计数之后编辑仍可通过提升对流媒体API的访问权限。

答案 1 :(得分:0)

在寻找相关内容时发现了这个问题。我知道获取所有过去推文的唯一方法是从Twitter请求他们引用数据保护法。这(我认为)只有你在欧洲生活,你只能得到自己的推文,但可以找到这样做的过程here。希望这可以帮助你...我的女朋友和我在Twitter上相遇并且都成功地通过这个过程得到我们的推文,看看我们的关系是如何展开的。

答案 2 :(得分:0)

首先,我不得不说你找不到Streaming API的历史推文。其次,据我所知,你可以使用搜索API,但是有一些限制可以找到所有历史推文,例如只能获得200最大值。并且历史上最大在这200个推文中有2周的推文。

但是,您可以为历史和预期推文实施同时使用流媒体和搜索API的系统。您可以开发两个应用程序,其中一个只能使用Streaming,只需要一个Twitter帐户进行身份验证,同时第二个应用程序可以使用Search API和几个独特的Twitter帐户来避免速率限制问题。

在这个平台的帮助下,您将能够获得近98%的推文,这是这项工作可接受的费率。如果您还有其他问题,请告诉我。

一切顺利