jnobuyukiのブログ

JavaScriptとR言語を中心に研究活動に役立つwebアプリケーション技術について考えていきます。twitter ID: @j_nobuyuki

R言語でウェブページから情報を抽出

今回は、R言語を利用してウェブページからデータとなる情報を抽出する(いわゆるスクレイピング)方法をまとめます。

参考にしたページ

abrahamcow.hatenablog.com

qiita.com

XMLパッケージ

ウエブページを書くための言語であるHTMLは、タグ形式で表現されるマークアップ言語の一種です。よって、XML形式を読み解くためのXMLというパッケージを利用すれば、タグの中身を引き出せます。XMLパッケージは、デフォルトではインストールされていないので、CRANからダウンロードしましょう。

install.packages("XML")
library(XML)

readHTMLTable関数

XMLパッケージをロードしたら、readHTMLTable関数が使えます。この関数は、urlで指定した先のHTMLを読み込んで、tableオブジェクトを検索します。使い方に1つだけがポイントがあって、検索したtableオブジェクトの中身にアクセスするために、読んだオブジェクトの2つ下の階層のリストを見ます。そのため読み込んだリストに大括弧を2つ使っています。

url <- "http://www.webpage-address/index.html"
tableList <- readHTMLTable(url)
#要素へのアクセス
tableElement <- tableList[[1]][1,1]