でスクラップされたHTMLページからテキストを引き出すことができません。私は、ニューヨークタイムムービーレビューのボディを抽出して、それらのセマンティック解析を実行しようとしています。残念ながら、私のHTML + R + XMLパッケージのスキルは、仕事を完了するのに十分ではありません。 NYTムービーAPIのXML出力を使用して映画の詳細を取得することはできますが、レビューAPIの本体にアクセスするには、記事APIまたはまっすぐなウェブページのスクレイプの使い方を理解できません。私はその後、審査のWebページをつかむために、映画の細部のこのデータフレームを使用して、レビュー文章をつかむしようとR XMLパッケージ
library(RCurl)
nyt.x.url<-'http://api.nytimes.com/svc/movies/v2/reviews/search.xml?query=The+Hangover&api-key=YOUR-OWN-FREE-API-KEY-GOES-HERE'
nyt.x.out<-getURLContent(nyt.x.url,curl=getCurlHandle())
library(XML)
a <- xmlTreeParse(nyt.x.url)
r <- xmlRoot(a)
# need to put the separate list items together into a mtrix, before they can be turned to a dataframe
nyt.df <- as.data.frame(stringsAsFactors=FALSE,
matrix(c(as.character(r[[4]][[1]][[1]][[1]])[6], # display name
as.character(r[[4]][[1]][[3]][[1]])[6], # rating - agrees with rotten tomatoes, but not imdb
as.character(r[[4]][[1]][[4]][[1]])[6], # is it a critics pick
as.character(r[[4]][[1]][[5]][[1]])[6], # is it a thousand best
as.character(r[[4]][[1]][[11]][[1]])[6], # opening date
as.character(r[[4]][[1]][[15]][[1]][[1]])[6]), # this is really the URL....
nrow=1,
ncol=6))
# now apply the right names
colnames(nyt.df) <- c("Title","MPAA-Rating", "Critics.Pick", "Thousand.Best", "Release.Date", "Article.URL")
:映画の詳細にコードをWORKING
nyt.review.out<-getURLContent(as.character(nyt.df[6]),curl=getCurlHandle())
a2 <- htmlTreeParse(nyt.review.url)
しかし、私はレビューの全文に到達する方法を理解することはできません。記事のjson APIを使用しようとすると、同じ問題に遭遇します(APIのURL呼び出しは下にあります)
nyt.review.url < - 'http://api.nytimes.com/svc/検索/ V1 /記事?フォーマット= JSON &クエリ=レビュー+ +二日酔い& BEGIN_DATE = 20090605 & END_DATE = 20090606 & APIキーは= YOUR-OTHER-FREE-API-KEY-GOES-HERE」
すべてのヘルプ大いに感謝しますが、独自のAPIキーに登録する必要があります(私はコードから私を削除しました)
これは私の作業コードを改善し、ここにtrycatchを追加することによって、さらに良くなります。ありがとう。しかし、私の問題は、最後から2番目の段落のコードであり、正しくフォーマットされていないため、iPadで修正できません。問題は、レビューの6つまたはそれ以上のパラグラフで取得するためにHTMLを切り離すことができないということです。これは私が後にしているものです。 (私は映画レビューについていくつかの感情分析を実行したい) –
@AndrewDempsey申し訳ありませんが、私はまったくフォローしません。あなたがAPIを介して記事の全文を取得する方法を尋ねているなら、私は分かりません。私のコードでは、記事のメインテキストを取得するためのスクリーンスクレープ(あなたの質問の「まっすぐなウェブページのスクレープ」)があります(私は段落を取得するためにコードを更新しました。 ) –
(自己に注意する - ipadで夜遅くコードを読んではいけない)... @ TonyBreyal - 謝罪、私は最後の夜にコードを誤解している。大丈夫だよー。ありがとう。 –