2016-07-07 6 views
0

IMDBで映画のレビューを抽出しましたが、別々のレビューにはそれらの間に空白行がたくさんあります。それは構造化されておらず、見るのが非常に難しいです。 それぞれ別々の関数を個別に適用してから、いくつかの他の関数のテキストマイニングのために1つを一緒に格納する必要があります。rvestを使用してIMDBからムービーレビューを削る

どうすればそれらを構造化(クリーンアップ)し、一度に1つずつアクセスし、それらを結合して一緒に保存することができますか?

は、ここでレビュー

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() 

そしてここでは、各レビューに関数を適用し、改行を削除する方法であり、マージ:たとえば、このコードは、あなたがおそらくこすりしようとしていないことをレビューやその他の情報のどれをお届けします1つの段落(また、改行を交換する上でのベクトル要素と、この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

この方法で改行が削除されることはありません。他のものはうまく動作します:) –

関連する問題