(小ネタ)Hpricotを使って人狼BBSの参加者リストを作成する。
人狼BBSのアクティブユーザー、ヘビーユーザーの割合が知りたかったので
参加者リストを取得しIDを抜き出すスクリプトを作成しました。
require 'hpricot' require 'open-uri' #uptoメソッドetcを使用して繰り返し実行(今はしない) #501.upto(1300) do |i| doc = Hpricot(open(%Q[http://ninjin002.x0.com/wolff/index.rb?vid=1132])) #エピローグのURLを取得 elem = (doc/%Q[//a]).each do |elem| @url = "http://ninjin002.x0.com/wolff/" + elem.to_html.sub(%Q[<a href="],"").sub(%r/">.*/,"") if elem.inner_text == "エピローグ" end #エピローグにアクセスし、参加者リストを取得 #http://ninjin002.x0.com/wolff/index.rb?vid=1132&meslog=1132_party_6 doc = Hpricot(open(@url)) elem = (doc/%Q[div.announce]).each do |elem| @entry = elem.inner_text if elem.inner_text =~ /^楽天家 ゲルト/ end #参加者リストをパースしてIDを抜き出す puts @entry.scan(%r[((.*?))])
作成時間30分(これでも遅いと思う)。マジHpricotは神だなー。
あとはDBに入れて見せ方を考えればOK。