緑色の毛玉のサイトをrvestでスクレイピング
先日出た勉強会で、某サイトが大変良い構造だと聞いたのでrvestでスクレイピングしてみた。
途中の`[`はmagrittrパッケージでextract関数を使った方が可読性は上がるかもしれないが宗教上の理由で見送った。
なお、pipeRでPipeを使う際は最後に$valueをつけて環境から値を取り出すようにしておきましょう。
https://github.com/renkun-ken/pipeR/issues/58
しかし、ここからさらにデータクリーニングしなければモデリングに使えるデータにはならないのでモデラーへの道は険しい。
library(rvest) library(pipeR) hoge <- "某サイト" trg_url <- sprintf("http://%s/tokyo/sc_koto/bc_100018301061/", hoge) trg <- html(trg_url, encoding = "utf-8") # 列名を作成 nms <- Pipe(trg) $ html_nodes(".table_gaiyou") $ html_nodes("th") $ html_text() $ `[`(-17) $ gsub(pattern="[[:space:]]",replacement="", x=.)$value #データを作成 res <- Pipe(trg) $ html_nodes(".table_gaiyou") $ html_nodes("td") $ html_text() $ `[`(-c(16,18)) $ gsub(pattern="[[:space:]]",replacement="", x=.) $ t() $ data.frame(stringsAsFactors=FALSE)$setNames(nms)$value