我试图通过RFacebook从Facebook页面下载所有帖子,但是当页面有大量帖子(超过400个)时,脚本会停止,返回错误
" callAPI出错(url = url,token = token):发生了未知错误。"在我调用getPage的行。
library(Rfacebook)
library(stringr)
load("fb_oauth")
token=fb_oauth
page<-getPage("bicocca", token, n = 100000, since = NULL, until = NULL, feed = TRUE)
noSpaceMsg<-str_replace_all(page$message, "[\r\n]" , "")
output<-as.data.frame(cbind(page$from_name,page$id, noSpaceMsg, page$created_time, page$type, page$link, page$likes_count, page$comments_count, page$shares_count))
colnames(output)<-c("username","msgid", "message", "created_time", "type", "link", "likes", "comments", "shares")
write.csv(output, "bicocca.csv", row.names=FALSE)
问题出在哪里?我该如何解决?
答案 0 :(得分:0)
这似乎是API的问题,而不是R包。当我尝试在Graph API Explorer here中执行查询时,我也会收到错误。不知道为什么。
解决此问题的一种方法是逐月查询,将getPage函数包装在try命令中:
page <- 'bicocca'
dates <- seq(as.Date("2010/10/01"), as.Date("2015/04/20"), by="month")
n <- length(dates)-1
df <- list()
for (i in 1:n){
cat(as.character(dates[i]), " ")
try(df[[i]] <- getPage(page, token, since=dates[i], until=dates[i+1]))
cat("\n")
}
df <- do.call(rbind, df)
这不会给你所有帖子,但可能大部分都是。