获取尽可能多的推文与一天的趋势相关联

时间:2012-03-27 13:52:03

标签: twitter tweets

我每隔30分钟存储一个数据库,这是一个国家Y的推特热门话题。没问题。 现在,我希望获得尽可能多的推文,以便将这些趋势主题与研究目的相匹配。

由于我想研究趋势的模式,我希望在每个趋势主题中,在检测到趋势峰值的那一天中,至少3天的连续推文数据。为了达到这个目的,我想到了以下几点:

假设我在第X天。我可以检索第X-2天的独特趋势,并且针对每个趋势,查找与区间[X-3,X-1]中的趋势匹配的推文,即3天。但是,这里的问题是Twitter速率限制。如果我在第X-2天有100个趋势主题,并且我发出了20个GET搜索请求/趋势,那么我最终会做出2,000个请求,这超过了Twitter的350小时速率限制。如果每小时需要300个小时,只需要6个小时就能获得一天的数据...

是否有人知道获取与趋势相关的推文的其他(更好)方式?

提前致谢

1 个答案:

答案 0 :(得分:1)

Twitter Streaming API?

Twitter Streaming API不提供任何过去的推文。您只接收从建立服务器连接开始的推文。在理论上,搜索API将返回与当前查询匹配的推文,最长可达7天,但这完全取决于Twitter的当前负载。 (注意* - 此时间间隔短至24小时。此外,您只能接收最多1,500条推文,无论它们的年龄多大。)

有没有办法从流媒体中获取更多推文?

我不知道。但是,如果您正在考虑在搜索或流API之间切换,请参考下面提到的信息。

请选择您的案例:

  • 如果您需要实时数据且请求数量很高:

转到Streaming API

流式API要求您保持连接处于活动状态。这需要一个带有无限循环的服务器进程来获取最新的推文。

优势

1)检索结果滞后:使用此方法提供的推文基本上是实时的,在发布推文和从API接收推文之间最多滞后一两秒

2)不受费率限制。

  • 如果您需要汇总数据而不考虑其时间范围且请求数量不高:

转到搜索API

搜索API更容易实现两种方法,但速度有限。每个请求最多可返回100条推文,您可以使用页面参数请求最多15页,从而获得理论上的最大值单个查询的1,500条推文。

优势

1)过去查找推文:搜索API在此区域默认获胜,因为流媒体API不会传递过去的推文

2)更容易实施