web-dev-qa-db-ja.com

rvestとxpathでテーブルをスクレイプする方法は?

以下を使用して ドキュメント 私はmarketwatch.comから一連のテーブルをスクレイプしようとしています

以下のコードで表されるものは次のとおりです。

enter image description here

リンクとxpathはすでにコードに含まれています:

url <- "http://www.marketwatch.com/investing/stock/IRS/profile"
valuation <- url %>%
  html() %>%
  html_nodes(xpath='//*[@id="maincontent"]/div[2]/div[1]') %>%
  html_table()
valuation <- valuation[[1]]

次のエラーが発生します。

Warning message:
'html' is deprecated.
Use 'read_html' instead.
See help("Deprecated") 

前もって感謝します。

9
Alex Bădoi

そのWebサイトはhtmlテーブルを使用していないため、html_table()は何も見つかりません。実際には、divクラスcolumnおよびdata lastcolumnを使用します。

だからあなたは次のようなことをすることができます

url <- "http://www.marketwatch.com/investing/stock/IRS/profile"
valuation_col <- url %>%
    read_html() %>%
    html_nodes(xpath='//*[@class="column"]')

valuation_data <- url %>%
    read_html() %>%
    html_nodes(xpath='//*[@class="data lastcolumn"]')

あるいは

url %>%
  read_html() %>%
  html_nodes(xpath='//*[@class="section"]')

そこへの道のほとんどを取得します。

利用規約 -特に3.4もお読みください。

9
SymbolixAU