【问题标题】:Grabbing Tweets from Multiple Timelines (twitteR "usertimeline" function)从多个时间线抓取推文(twitteR“用户时间线”功能)
【发布时间】:2016-06-16 05:30:30
【问题描述】:

我正在尝试从多个用户那里获取最新的推文。我已经注册了我的应用程序,并且拥有必要的密钥和令牌。

我知道对于单个用户,命令是:

recent <- twListToDF(userTimeline("**twitterID**",n=15))

但是,我不确定如何获取多个 ID 的推文,以及如何将它们组合到数据框中。

我试过了:

targets <- c("a","b","c")
recent <- twListToDF(userTimeline("targets",n=15))

其中abcIDs,但收到错误消息:

twInterfaceObj$doAPICall(cmd, params, method, ...) 中的错误:
未找到 (HTTP 404)。

目标是否被引号包围似乎并不重要。有没有一种简单的方法可以从多个 ID 中获取推文?还是我需要一个向量,遍历等等。

【问题讨论】:

  • stackoverflow.com/questions/2692434/… 这是 PHP 的,但它可能对你有帮助
  • id 是否有递增的数字或者它们是否不同,无论哪种方式,您都可以遍历这些 id 的列表并每次循环运行此命令。您将列表直接放入您的函数中,这就是它抛出错误的原因。
  • 另外我认为你应该看看这个。 stackoverflow.com/questions/26645672/…
  • @ShwetaKamble,这些是非增量 ID。到目前为止,我实际上正在传递他们的文本用户名。
  • 尝试使用 lapply 并在函数中传递 ID 的向量来获取您的推文,请参考上面的链接来完成您的代码。确保将 ID 向量保留为字符。

标签: r twitter


【解决方案1】:

我想通了,所以我想我会分享我的解决方案。

假设我有相同的屏幕名称列表来提取推文,称为targets

我将输出放入一个名为output 的列表中,每个条目对应于targets 中相同索引值的推文。即,output[1] 包含来自targets[1] 的所有推文,每行一条推文。

num = length(targets)
output <- vector("list", num)
for(i in 1:num){
  output[i] <- getTweets(targets[i])
}

getTweets 使用twListToDF(userTimeline(handle, n=15))


要将所有推文放入一个数据框中,并包含其他信息:

masterFrame <- data.frame()
for (i in 1:num){
  tempFrame <- getTweets(targets[i])
  masterFrame <- rbind(masterFrame, tempFrame)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 2017-07-02
    • 2013-01-18
    • 2017-02-19
    • 2016-07-29
    • 1970-01-01
    • 2012-07-06
    相关资源
    最近更新 更多