我已经编辑了我的问题以使其更相关
从我开始学习 R 到现在才不到一个月,我正试图用它来摆脱我们用于报告的与 Facebook 相关的繁琐工作(提取评论)。
使用Rfacebook包,我制作了这个脚本,它提取(1)给定时期页面的帖子,以及(2)对这些帖子的评论。它对于我正在为其进行报告的页面运行良好,但是当我在其他页面上尝试它时,它的帖子评论为零,它报告了一个错误。
这是脚本: 加载库
library(Rfacebook)
library(lubridate)
library(tibble)
设定时间段。随意更改时间。
current_date <-Sys.Date()
past30days<-current_date-30
分配页面。将此编辑到您正在监视的页面*
brand<-'bpi'
对 Facebook 进行身份验证。用你自己的
app_id <- "xxxxxxxxxxxxxxxx"
app_secret <- "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
token <- fbOAuth(app_id,app_secret,extended_permissions = FALSE,legacy_permissions = FALSE)
从页面中提取所有帖子
listofposts <- getPage(brand, token, n = 5000, since = past30days, until = current_date, feed = FALSE, reactions = FALSE, verbose=TRUE)
write.csv(listofposts,file = paste0('AsOf',current_date,brand,'Posts','.csv'))
转换为数据框
df<-as_tibble(listofposts)
转换为向量
postidvector<-df[["id"]]
获取该期间的帖子数
n<-length(postidvector)
通过循环产生所有评论
reactions<-vector("list",n)
for(i in 1:n){
reactions[[i]]<-assign(paste(brand,'Comments', i, sep = ""), (getPost((postidvector[i]),token,comments=T,likes=F,n.likes=5000,n.comments=10000)))
}
将每个帖子的所有评论提取到 CSV
for(j in 1:n){
write.csv(reactions[[j]],file = paste0('AsOf',current_date,brand,'Comments' ,j, '.csv'))
}
当我在包含零评论的帖子的页面上尝试将评论导出为 CSV 时,出现以下错误:
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 1, 0
我在流量很大的页面上尝试了它,它也运行良好。一篇帖子有 10,000 条评论,并且提取得很好。:(
提前致谢!:D