使用RFacebook包从Facebook提取帖子

时间:2017-03-17 16:20:51

标签: r facebook text-mining sentiment-analysis rfacebook

我成功获取帖子的文字并分享并喜欢统计。

但是,我无法获得与帖子相关的评论。如果这些信息不可用,我想将帖子的相似数量合并到每个评论中。   示例:帖子有900个赞和80条评论。我想将900个喜欢的值与每个评论相关联(可能是一个名为post_like的新列)。

我想使用这些信息在逻辑回归中使用喜欢的数量(像哈哈,悲伤......)这样的情感分析,其中最频繁的单词的频率作为x变量。

到目前为止,这是我的脚本:

 token<- "**ur token , get it at https://developers.facebook.com/tools/explorer/**"  

# Function to download the comments
download.post <- function(i, refetch=FALSE, path=".") {
post <- getPost(post=fb_page$id[i], comments = TRUE, likes = TRUE, token=token)
post1<- as.data.frame(melt(post)) 
}
#----------------------- Request posts  --- ALL
# Get post for ALL
fb_page<- getPage(page="**the page number u want**", token=token,  since='2010/01/01', until='2016/01/01', n= 10000, reactions=TRUE)
fb_page$order <- 1:nrow(fb_page) 

# Apply function to download comments
files<-data.frame(melt(lapply(fb_page$order, download.post)))

# Select only comments
files_c<-files[complete.cases(files$message),]

所以基本上我得到了带有帖子ID的页面,并创建了一个函数来获取该页面上帖子ID的帖子。

output for head(files_c

正如你所看到的,我得到了我需要的所有信息,喜欢和分享数量。

我希望我很清楚,非常感谢你的帮助

1 个答案:

答案 0 :(得分:1)

一切都在那里:

library(Rfacebook)
token <- "#############" # https://developers.facebook.com/tools/explorer 
fb_page <- getPage(page="europeanparliament", token=token, n = 3)
transform(
  fb_page[,c("message", "likes_count", "comments_count", "shares_count")], 
  message = sapply(message, toString, width=30)
)
#                          message likes_count comments_count shares_count
# 1 This week members called o....          92             73           21
# 2 Today we're all Irish, bea....         673            133           71
# 3 European citizens will mee....        1280            479           71

packageVersion("Rfacebook")
# [1] ‘0.6.12’