2016-07-07 76 views
0

我已经提取IMDB上的电影评论,但是单独的评论在它们之间有很多空行。它是非结构化的,很难查看。 我必须分别对每个函数应用某些函数,然后将它们一起存储为1,用于某些其他函数的文本挖掘。使用rvest从IMDB中刮掉电影评论

我该如何构造(清洁)它们并一次访问它们,以及如何将它们组合并将它们存储在一起?

这里是我刮评论

ID <- 1490017 
URL <- paste0("http://www.imdb.com/title/", ID, "/reviews?filter=prolific") 
MOVIE_URL <- read_html(URL) 
ex_review <- MOVIE_URL %>% 
html_nodes("p") %>% 
html_text() 

回答

1

我建议您在导航DOM是更具体的代码。例如,这个代码将只提供的其他资料审查,没有您大概不希望刮:

ID <- 1490017 
URL <- paste0("http://www.imdb.com/title/tt", ID, "/reviews?filter=prolific") 
MOVIE_URL <- read_html(URL) 
ex_review <- MOVIE_URL %>% html_nodes("#pagecontent") %>% 
    html_nodes("div+ p") %>% 
    html_text() 

这里是一个方法,以消除换行符,应用功能,每次审查和合并所有评论到一个段落(另见本post上串联矢量元素,并且该post关于更换换行符):

ex_review <- gsub("[\r\n]", " ", ex_review) # replace line breaks 
sapply(ex_review, function(x){}) # apply function to each review 
ex_review <- paste(ex_review, collapse = "") # concatenate reviews into one paragraph 
write(ex_review, "test.txt") 

我想你也缺少URL中的“TT”。

+0

这大大提高了提取效果。非常感谢您的回答。然而,我的主要问题是能够处理我已经提取的评论,因为我无法这样做。对它们进行处理,就像删除每个评论之间的多条线一样。同时结合文字形成所有评论的一大段。因为我还需要进行全面分析。 –

+0

我编辑的答案适合你吗? – motorrrr

+0

使用此方法不会删除换行符。其他的事情工作正常:) –