2

我有大量的 twitter 用户,我希望使用 PHP 将这些推文连接到一个网站上,并在 MySQL 中缓存这些推文。但是,当我访问 API 时,我似乎被速率限制问题难住了。我对每个用户提出的每个请求似乎都算作一个请求,这是有道理的。

我注意到其他网站*成功地完成了这件事。他们是如何解决这个问题的,他们只是被列入白名单,还是我缺少一种技术?

* http://www.twackle.com/NFL/Aaron-Rodgers_1/tweets

4

3 回答 3

1

式 API是您正在寻找的,更具体地说,是过滤器方法。过滤器,在其最低权限级别,将允许您实时关注 5,000 个用户,而无需他们授权您的应用程序,并且您也可以使用此方法跟踪多达 400 个关键字。

现在,如果您还想要历史推文,必须从 REST API 中提取这些推文(流式 API 的计数参数在这里并没有真正的帮助),但是由于您只能通过 REST 检索用户的最后 3200 条推文API,您几乎可以通过传入 200 的计数参数值并相应地分页,通过对statuses/user_timeline的16 次调用来回填所有可用的推文历史记录。

http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=2 http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=3 http://api.twitter.com/1/statuses/user_timeline.json?screen_name=barackobama&count=200&page=4

每个 Twitter 帐户每小时可拨打 350 次电话,您每小时可以回填大约 22 个完整的用户时间线。

在实现方面,您可能会对Phiehose感兴趣,这是一个 PHP 的流式 API 客户端接口。

于 2011-04-28T03:46:38.407 回答
0

在获取推文之前先尝试进行身份验证。那应该增加速率限制

于 2011-04-27T13:37:14.337 回答
0

组合多个 user_timelines 的简单方法是创建 Twitter 列表并使用GET /:user/lists/:id/status。该单个 API 请求将返回列表中所有用户的最新推文。

于 2011-04-28T05:13:56.157 回答