【问题标题】:twitter API rate limit推特 API 速率限制
【发布时间】:2015-03-24 22:27:54
【问题描述】:

我想在几周内从 twitter 收集数据。

为此,我使用 RStudio Server 和 crontab 自动运行多个脚本,如下所示:

require(ROAuth)
require(twitteR)
require(plyr)

load("twitter_authentication.Rdata")
registerTwitterOAuth(cred)

searchResults <- searchTwitter("#hashtag", n=15000, since = as.character(Sys.Date()-1), until = as.character(Sys.Date()))
head(searchResults)

tweetsDf = ldply(searchResults, function(t) t$toDataFrame())
write.csv(tweetsDf, file = paste("tweets_test_", Sys.Date() - 1, ".csv", sep = ""))

在某些日子里,每个主题标签我只会有几条推文(最多 100 条),因此脚本运行顺畅。但是,在其他日子里,某个主题标签会有数千条推文(当然,我使用的不是“主题标签”这个词,而是我学习所需的词)。

我可以将retryOnRateLimit=10 添加到serchTwitter。但是当我每天搜索多个主题标签时,我应该如何在 crontab 中对这些查询进行计时?

为了组织这些查询,我需要知道在 15 分钟的时间间隔内运行一次脚本可以收集多少条推文!有人知道答案吗? (当然,根据 Twitter API 的速率限制,我可以做到

每 15 分钟窗口 180 个查询

但这是多少条推文?)

【问题讨论】:

  • 我刚刚尝试收集昨天的推文,其中提到了@WhiteHouse。在超过 11,000 条推文之后,我达到了速率限制。

标签: r twitter crontab twitter-oauth


【解决方案1】:

您应该使用 Streaming API

,而不是每隔几分钟执行一次搜索

这将为您提供流经 Twitter 的所有数据的实时提要。您可以为搜索词设置过滤器。

没有这样的“速率限制” - 您只需建立一个持久连接,Twitter 就会提供与您的搜索词匹配的所有推文的样本。

【讨论】:

  • 好的,但是当我想收集 4 个月内的数据(包括多个主题标签)时,如果我只有一个持久连接,这不是问题吗?这意味着我有四个月无法使用 RStudio Server!
  • 不,这不是问题。设置服务器,为其提供唯一的 Twitter API 密钥,然后开始监控并将结果转储到您的数据库中。
  • 有人可以提供此解决方案的代码示例吗?
猜你喜欢
  • 1970-01-01
  • 2013-01-07
  • 2020-11-04
  • 1970-01-01
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多