【发布时间】:2010-12-12 08:09:38
【问题描述】:
对于一个研究项目,我想获得最近 3 个月的 Twitter 消息。抛开技术挑战不谈,这可能吗?通过使用某种缓慢的轮询机制来阻止速率限制器?
Twitter API 声明“客户可以通过页面请求多达 3,200 个状态并计算时间线 REST API 的参数”这些是每小时吗?每天?还是……曾经?
有什么建议吗?它甚至在理论上是可能的吗?以前有人做过类似的事情吗?
谢谢! 马可
【问题讨论】:
对于一个研究项目,我想获得最近 3 个月的 Twitter 消息。抛开技术挑战不谈,这可能吗?通过使用某种缓慢的轮询机制来阻止速率限制器?
Twitter API 声明“客户可以通过页面请求多达 3,200 个状态并计算时间线 REST API 的参数”这些是每小时吗?每天?还是……曾经?
有什么建议吗?它甚至在理论上是可能的吗?以前有人做过类似的事情吗?
谢谢! 马可
【问题讨论】:
众所周知,Twitter 不会发布超过三周的“可用”推文。在某些情况下,您只能获得一周。您最好在接下来的三个月内存储推文。许多人有理由怀疑 Twitter 是否坚持使用它们。
您是否正在寻找任何推文?如果是这样,请查看 Streaming API 的 status/sample 方法。流式 API 使用持久的 HTTP 套接字,编程可能会很痛苦,但是当你让它工作时它是非常优雅的。我建议设置一个小脚本将推文从状态/样本转储到数据库中。几天后,您应该会获得大量数据。
【讨论】:
Many rightly doubt if they're even persisted by Twitter 是什么意思?推文仍然显示在 3 周以上未使用 API 的个人资料上。还是我误会了你
您可以使用 Search API,不要给它搜索,每页最多返回 100 个,然后每分钟通过每个页面两次(每小时 120 次 - 比速率限制少 30 倍)。但是,如果我的数学是正确的,那可能会给你每小时 720,000 条推文......问题是 Twitter 在过去 3 个月中增加了大约 17.5 亿条推文。所以如果我的数学是正确的,你需要 2361 天,或者 6 年才能完成。
您可以在 Google Groups 上的 Twitter 开发演讲中提出这个问题,或者联系 Twitter 以将其列入白名单,这样您每小时最多可以提出 20,000 个请求。
我个人认为不可能。
【讨论】:
DataSift 声称即将推出 Twitter 历史数据 api,您可以注册以在可用时收到通知 here。
【讨论】:
这可能在您第一次提出问题时不存在,但“PeopleBrowsr”API 非常适合此问题,您可以通过一次 API 调用返回 1400 天:https://developer.peoplebrowsr.com/pb
希望有帮助!
【讨论】:
Keyhole 可以让您以 xls 格式获取历史推文或将它们呈现在可视化仪表板中。预览仅对最近的几条推文进行采样,但是,如果您通过电子邮件发送它们,则可以请求历史数据。
【讨论】:
您可以使用 Gnip 的 Historic PowerTrack 工具读取 twitter 历史数据。它可以让你访问自第一条推文以来的所有推特数据,而且它是非常简单的工具。
【讨论】:
您可以使用我公司构建的名为Sifter 的服务免费估算数据范围和成本。如果您决定购买对数据的访问权,则可以通过我们的文本分析平台DiscoverText 访问该数据,您可以在其中搜索、过滤、重复数据删除、集群、人工代码和机器分类数据。
【讨论】: