我正在使用Michael W. Kearney的rtweet包,并尝试获取多个用户的关注者列表。到目前为止,如果我希望一次删除一个用户的关注者,无论他/她可能拥有多少关注者,它都能很好地工作。
但是对于我的项目,我必须废弃155个配置文件,因此,我想知道是否有一个功能或方法可以让我为所有用户编写一个命令?到目前为止,当我尝试使用多个用户时,我得到的错误是我一次只能使用一个用户。
编辑:两个重要的信息 - 所需的输出是每个用户关注者155列的数据集,我可以将其导出/写为csv或用作数据帧。最后,在建议任何解决方案时,请记住,如果我将使用apply
系列的任何函数,我最终会得到列表(根据Amar的建议答案),但问题是将列表转换为数据.frame并且由于列的长度不相等,我无法使用as.data.frame()
函数。
任何想法或方法?提前谢谢。
答案 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;)。