「あ〜っ! サッカーJ2の順位表を音速で抜き出したいぃ〜!」
・・・って思いますよね。異論は認めません。
わたくし、不勉強なもので「Rubyでスクレイピングしようかなー」と思っていたのですが、R言語に「readHTMLTable」という便利な関数があることを知りました。
簡単なテーブルで作られた表なら一発で抜き出せるので、大変便利でございます。
手順
1.とりあえずJ2順位ページにアクセス。URLをエディタにコピペしておきましょう。
2.下記ソースコードを実行。Rstudioとかでやった方が楽ですよ。
# XMLパッケージのインストール。HTMLからテーブルを抜き出す関数「readHTMLTable」を呼び出すために必要。
install.packages("XML")
# XMLパッケージの呼び出し。
require(XML)
# スクレイピングしたいURLを変数に格納。
URL = "http://www.jleague.jp/standings/j2.html"
# readHTMLTable関数でテーブルデータをスクレイピング。
# stringsAsFactorsオプションは、readHTMLTable関数はcharacter列をfactorで返すのでFALSEオプションをつけて変換されないようにします。
J2 <- readHTMLTable(URL, which = 1, header = TRUE, stringsAsFactors = FALSE)
# いちおう、内容チェック。
J2
# csvファイルに書き出す。
write.csv(J2,"J2.csv")
3.保存ファイルを開いて中身をチェック。
これだけです。同一ページに複数のテーブルがあってもオプションで選択可能なのでほんと便利。
0 件のコメント:
コメントを投稿