Facebook回复中的问题从帖子评论下载

时间:2018-02-20 09:55:21

标签: rstudio rfacebook

我试图逐页下载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)}

感谢您的支持。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,因为Facebook在1月底改变了api规则。如果您使用Pablo Barbera的github中的'devtools'更新您的软件包,它应该适合您。 我修改了我的代码(一点点),它现在可以正常回复评论。但有一个令人沮丧的事情是,Facebook似乎不允许提取用户名。我已经有了一个数据库,所以我现在用它来训练和预测性别。 如果您有任何疑问并想与我联系,请发送电子邮件至'robert.chestnutt2@mail.dcu.ie'

顺便说一下 - 这对你来说可能不是问题,但过去我曾经将Rfacebook输出写入csv。将输出保存为.RData文件可以更好地保持表单