5

对于一个研究项目,我正在使用 Python-Twitter 收集推文。然而,当我们在一台计算机上不间断地运行我们的程序一周时,我们每周只能收集大约 20 MB 的数据。我只在一台机器上运行这个程序,这样我们就不会两次收集相同的推文。

我们的程序运行一个循环,每 60 秒调用一次 getPublicTimeline()。我试图通过对出现在公共时间线中的一些用户调用 getUserTimeline() 来改进这一点。然而,这一直让我每次都被禁止收集大约半小时的推文。即使没有禁令,添加此代码似乎也几乎没有加速。

我知道 Twitter 的“白名单”允许用户每小时提交更多请求。我大约三周前申请了这个,从那以后就没有收到回音,所以我正在寻找替代方案,使我们的程序能够更有效地收集推文,而不会超过标准速率限制。有谁知道从 Twitter 收集公共推文的更快方法?我们希望每周获得大约 100 MB。

谢谢。

4

3 回答 3

5

使用流式 API怎么样?这正是它被创建来解决的用例。使用流 API,您在收集数兆字节的推文时不会遇到任何问题。但是,如果没有 Twitter 的访问权限,您仍然无法访问所有推文,甚至无法访问具有统计意义的样本。

于 2010-11-22T20:17:35.610 回答
1

来自 ars technica 的关于使用流式 API n Python的非常好的教程在这里可能会有所帮助。

否则,您可以尝试通过cURL.

.

于 2011-11-03T14:30:18.683 回答
1

我做了一个类似的项目,分析来自推文的数据。如果您只是从纯粹的数据收集/分析角度进行此操作,则可以抓取任何出于各种原因收集这些推文的更好的网站。许多网站允许您按主题标签进行搜索,因此输入一个足够流行的主题标签,您就会得到数千个结果。我刚刚从这些网站中抓取了一些流行的标签,将它们收集到一个大列表中,针对该网站查询该列表,并从结果中抓取所有可用信息。一些站点还允许您直接导出数据,使这项任务更加容易。您会得到很多可能需要过滤的垃圾结果(垃圾邮件、外语等),但这是对我们项目最有效的方法。Twitter 可能不会授予您列入白名单的状态,

于 2010-11-22T21:39:04.813 回答