我试图逐页下载FACEBOOK公开帖子的公众意见和回复。
我的代码工作到2月5日18,现在它显示以下错误的"回复"。
Error in data.frame(from_id = json$from$id, from_name = json$from$name, :
arguments imply differing number of rows: 0, 1
Called from: data.frame(from_id = json$from$id, from_name = json$from$name,
message = ifelse(!is.null(json$message), json$message, NA),
created_time = json$created_time, likes_count = json$like_count,
comments_count = json$comment_count, id = json$id, stringsAsFactors = F)
请参考我正在使用的以下代码。
data_fun=function(II,JJ,page,my_oauth){
test <- list()
test.reply<- list()
for (i in II:length(page$id)){
test[[i]] <- getPost(post=page$id[i], token = my_oauth,n= 100000, comments = TRUE, likes = FALSE)
if (nrow(test[[i]][["comments"]]) > 0) {
write.csv(test[[i]], file = paste0(page$from_name[2],"_comments_", i, ".csv"), row.names = F)
for (j in JJ:length(test[[i]]$comments$id)){
test.reply[[j]] <-getCommentReplies(comment_id=test[[i]]$comments$id[j],token=my_oauth,n = 100000, replies = TRUE,likes = FALSE)
if (nrow(test.reply[[j]][["replies"]]) > 0) {
write.csv(test.reply[[j]], file = paste0(page$from_name[2],"_replies_",i,"_and_", j, ".csv"), row.names = F)
}}}
}
Sys.sleep(10)}
感谢您的支持。
答案 0 :(得分:0)
我遇到了同样的问题,因为Facebook在1月底改变了api规则。如果您使用Pablo Barbera的github中的'devtools'更新您的软件包,它应该适合您。 我修改了我的代码(一点点),它现在可以正常回复评论。但有一个令人沮丧的事情是,Facebook似乎不允许提取用户名。我已经有了一个数据库,所以我现在用它来训练和预测性别。 如果您有任何疑问并想与我联系,请发送电子邮件至'robert.chestnutt2@mail.dcu.ie'
顺便说一下 - 这对你来说可能不是问题,但过去我曾经将Rfacebook输出写入csv。将输出保存为.RData文件可以更好地保持表单