我正在使用Rfacebook包来抓取我的研究问题感兴趣的公共页面列表。认证工作正常,我可以获得所有公开帖子的数据框架,对帖子的反应以及对这些帖子的评论。
但是,当我尝试提取公开帖子下的评论回复时,我遇到了问题。这是我使用的代码:
BSBKB <-getPage("bersenbrueckerkreisblatt", token = my_OAuth, feed = TRUE, reactions = TRUE,verbose = TRUE, n = 1000)
#Getting comments for Post No.4
Comments <- getPost(BSBKB$id[4],token = my_OAuth, reactions = TRUE, n =180,likes=TRUE)
#Getting replies to comment No.4 under Post No.4
replies <- getCommentReplies(Comments$comments$id[4], token = my_OAuth, n = 500, replies = FALSE, likes= TRUE)
此代码抛出以下错误:
Error in data.frame(from_id = json$from$id, from_name = json$from$name, : arguments imply differing number of rows: 0, 1
奇怪的是,当我尝试从?getCommentReplies()
页面运行示例代码时出现相同的错误:
## Not run:
## See examples for fbOAuth to know how token was created.
## Getting information about Facebook's Facebook Page
load("fb_oauth")
fb_page <- getPage(page="facebook", token=my_OAuth)
## Getting information and likes/comments about most recent post
post <- getPost(post=fb_page$id[1], n=2000, token=my_OAuth)
## Downloading list of replies to first comment
replies <- getCommentReplies(comment_id=post$comments$id[1], token=my_OAuth)
## End(Not run)
导致:
Error in data.frame(from_id = json$from$id, from_name = json$from$name, :
arguments imply differing number of rows: 0, 1
这是一个系统错误的包,最近的API更改或我在某处犯了错误?关于如何解决这个问题以及提取评论回复(以及理想的反应)的任何建议都会很棒!
答案 0 :(得分:2)
函数getCommentReplies的源代码发布在Github上:https://github.com/yanturgeon/R_Script/blob/master/getCommentReplies_dev.R
在您自己的环境中重新加载此代码,但在执行此操作之前,请注释掉该行:
out[["reply"]] <- replyDataToDF(content)
效果仍然是列表,而不是数据帧。