2016-12-21 5 views
-1

私はウェブスクレイピングには新しく、センチメンタル分析に使用することを望んでいます。私は正常に最初の10のレビューを廃止しました。 280件の他のレビューのために、私は20回以上、次のプロセスを繰り返すことをためらっていました...すべてのレビューをより簡単な方法で掻くことができるパッケージ/機能があるかどうか疑問に思っていましたか?本当にありがとう!rvestを使用してIMDBからすべてのムービーレビューを削る方法

library(rvest) 
library(XML) 
library(plyr) 
HouseofCards_IMDb <- read_html("http://www.imdb.com/title/tt1856010/reviews?ref_=tt_urv") 

#Used SelectorGadget as the CSS Selector 
reviews <- HouseofCards_IMDb %>% html_nodes("#pagecontent") %>% 
html_nodes("div+p") %>% 
html_text() 

#perfrom data cleaning on user reviews 
reviews <- gsub("\r?\n|\r", " ", reviews) 
reviews <- tolower(gsub("[^[:alnum:] ]", " ", reviews)) 
sapply(reviews, function(x){}) 
print(reviews) 

答えて

2

ようこそ。

レビューの2番目のページに行くと、URLがhttp://www.imdb.com/title/tt1856010/reviewsからhttp://www.imdb.com/title/tt1856010/reviews?start=10に変わるのがわかります。

最後のページ:http://www.imdb.com/title/tt1856010/reviews?start=290

あなたがしなければならないのは、ページをループにある:

result <- c() 
for(i in c(1, seq(10, 290, 10))) { 
    link <- paste0("http://www.imdb.com/title/tt1856010/reviews?start=",i) 
    HouseofCards_IMDb <- read_html(link) 

    # Used SelectorGadget as the CSS Selector 
    reviews <- HouseofCards_IMDb %>% html_nodes("#pagecontent") %>% 
    html_nodes("div+p") %>% 
    html_text() 

    # perfrom data cleaning on user reviews 
    reviews <- gsub("\r?\n|\r", " ", reviews) 
    reviews <- tolower(gsub("[^[:alnum:] ]", " ", reviews)) 
    sapply(reviews, function(x){}) 
    result <- c(result, reviews) 
} 

通知は、我々はhttp://www.imdb.com/title/tt1856010/reviewsに似てhttp://www.imdb.com/title/tt1856010/reviews?start=1で始めること。

関連する問題