通过rtweet

时间:2018-05-07 21:32:19

标签: r twitter rtweet

我正在使用Michael W. Kearney的rtweet包,并尝试获取多个用户的关注者列表。到目前为止,如果我希望一次删除一个用户的关注者,无论他/她可能拥有多少关注者,它都能很好地工作。

但是对于我的项目,我必须废弃155个配置文件,因此,我想知道是否有一个功能或方法可以让我为所有用户编写一个命令?到目前为止,当我尝试使用多个用户时,我得到的错误是我一次只能使用一个用户。

编辑:两个重要的信息 - 所需的输出是每个用户关注者155列的数据集,我可以将其导出/写为csv或用作数据帧。最后,在建议任何解决方案时,请记住,如果我将使用apply系列的任何函数,我最终会得到列表(根据Amar的建议答案),但问题是将列表转换为数据.frame并且由于列的长度不相等,我无法使用as.data.frame()函数。

任何想法或方法?提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用for循环或apply完成工作。创建包是为了通过提供执行一项特定工作的函数(通常镜像API)来简化您与twitter API之间的交互。其余的(例如您的请求)由R和其他包填写。

I am following this tutorial here:

假设您有一个要在向量中抓取的个人资料列表:

profiles <- c("Batman", "CatWomen", "Blade")

我们可以创建一个自定义函数来检索3 profiles

的以下内容
getAllFollowers <- function(name) {

  ## how many total follows does cnn have?
  cnn <- lookup_users(name)

  ## get them all (this would take a little over 5 days)
getAllFollowers <- function (name) { 
  user_info <- lookup_users(name) 
  user_follower <- get_followers(name, n=user_info$followers_count, retryonratelimit = T)
  Sys.sleep(2) #sleep for 2 seconds
  return(user_follower) }

然后,我们可以使用lapply遍历profiles列表并检索其后续内容:

out <- lapply(X = profiles, FUN = getAllFollowers)

这将创建一个list对象(来自阅读):

  

跟随者ID的tibble数据框(一列名为&#34; user_id&#34;)。