したらばのスレをRのrvestを用いてスクレイピングする
Rにはrvestというスクレイピングする際のパッケージがある。
しかし、そのパッケージを用いて2chやしたらばなどのスレをスクレイピングをした記事は見当たらない。
(他の言語を用いてなされている記事もあるがhtmlに対して正規表現を用いて取り出しているのを見かけた)
http://qiita.com/murapon/items/5c7ec6568bc56799da99
今回は、スレッドのURLを与えた際にスレッドタイトルとレスの内容とレス日付を求めた。
以下にコードを示す。
library("rvest") url<-"http://jbbs.shitaraba.net/bbs/read.cgi/study/9419/1481055888/" #shitaraba html<-read_html(x=url) #スレタイ title_nodes<-html_nodes(html,"h1.thread-title") thread_title<-html_text(title_nodes) res_nodes<-html_nodes(html,"dd") res<-html_text(res_nodes) res<-gsub("\\n","",x=res) res<-gsub(" ","",x=res) res_date<-html_nodes(x = html,xpath='//*[@id="thread-body"]/dt') res_date<-html_nodes(res_date,xpath='text()[3]') res_date<-gsub("\\n","",x=res_date) res_date<-gsub(" ","",x=res_date) res_date<-gsub(":","",x=res_date) res_date<-gsub("\\((月|火|水|木|金|土|日)\\)"," ",res_date) res_POSIX<-as.POSIXlt(res_date)
今回は日付をPOSIX型に変換もやってみた。
(おそらく)後からあぼーんされてしまったレスがあるとそこがうまく取れないと思う。
次は2chでやる予定です。