我一般对Web抓取和R编程还很陌生,因此我试图将一个随机公司的评论数据框起来,以便进行情感分析。我用于该项目的网站是Trustpilot,随机公司是Netflix。
虽然我可以成功地抓取我想要的文本(审阅者姓名和审阅文本),但我无法为日期添加一列,这也非常重要。基本上,代码可以在数据框中没有date列的情况下工作,但是如果添加了date,那么它将返回三个变量,但没有观察值。
library(rvest)
url <- "https://uk.trustpilot.com/review/www.netflix.com?page=1"
map_df(1:24, function(i) {
# progress indicator
cat(".")
pg <- read_html(sprintf(url, i))
data.frame(reviewer=html_text(html_nodes(pg, ".consumer-info__details__name")),
review=html_text(html_nodes(pg, ".review-info__body__text")),
date=html_text(html_nodes(pg, "date")),
stringsAsFactors=FALSE)
}) -> mjreviews
dplyr::glimpse(nfreviews)
如何使此代码起作用?