2016-07-07 81 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

使用此方法不會刪除換行符。其他的事情工作正常:) –