0

我正在使用 Michael W. Kearney 的 rtweet 包,并试图获取多个用户的关注者列表。到目前为止,如果我希望一次废弃一个用户的追随者,而不管他/她可能拥有多少追随者,它的效果很好。

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

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

有什么想法或方法吗?提前致谢。

4

1 回答 1

1

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

我在这里关注本教程:)

假设您有一个要在向量中抓取的配置文件列表:

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 数据框(一列名为“user_id”)。

于 2018-05-08T07:32:42.303 回答