休みなので,何かを作っています。
その中間生産物として,以下のようなスクリプトを作りました。
1 | ./o_summary.rb |
ってやると,2010年3月(とりあえず決め打ち)のO-GROUPのライブ予定をまとめて表示してくれます。
udzura@ubuntu-vaio:~/dev$ ./o_watch_test.rb @@@O-East@@@ ●2010年3月01日 @ O-East □テリアの東 「空のエチュード II」 Dichten ソノダバンド/WADAIKO龍鼓会/COKEBOTTLE #dicline/LIVING IN THE DARK ゲスト:C’est La Vie 開場17:30/開演18:00●前売3000/当日3500●ドリンク別 問合せ:03-5458-4681 O-EAST Dichten => http://shibuya-o.com/category/east/?id=schedule&Year=2010&Month=3#post-9701 ---- ●2010年3月02日 @ O-East □PUNK ROCK CONFIDENTIAL JAPAN presents PUNKAFOOLIC! KOTTONMOUTH KINGS JAPAN TOUR KOTTONMOUTH KINGS 開場19:00/開演20:00●前売5000/当日未定●ドリンク別 発売中●ぴあ(344-442)・ローソン(70471)・e+ ※未就学児童入場不可 問合せ:03-3475-9999 H.I.P http://www.punkafoolic.com/ => http://shibuya-o.com/category/east/?id=schedule&Year=2010&Month=3#post-8977 ---- ●2010年3月03日 @ O-East □美神降臨〜LIV MOON FIRST CLUB SHOW LIV MOON 開場18:00/開演19:00●前売5500/当日未定●ドリンク別 発売中●ぴあ(345-509)・ローソン(74305)・e+・CN 問合せ:03-3462-6969 クリエイティブマン => http://shibuya-o.com/category/east/?id=schedule&Year=2010&Month=3#post-9126 ---- ●2010年3月04日 @ O-East □たむらぱん パンタスティックツアー たむらぱん 開場19:00/開演19:30●前売4500/当日5000●ドリンク別 発売中●ぴあ(342-160)・ローソン(78625)・e+・CN 問合せ:03-3498-9999キョードー東京 => http://shibuya-o.com/category/east/?id=schedule&Year=2010&Month=3#post-8702 ---- ●2010年3月05日 @ O-East □おわらないせかいのうたいかた ……
Hpricot ライブラリを使用。
(本当はAPIのデザイン的にnokogiriを使いたかったのだが,文字化けする。。。 多分,ヘッダのmeta情報だけなぜかS_JISだからだと思うんだけど,困った)
■ o_summary.rb
#!/usr/bin/ruby # o-group データ自動取得 require 'rubygems' require 'hpricot' require 'open-uri' $KCODE = 'u' houses = ["East", "West", "Nest", "Crest"] y = 2010 m = 3 houses.each do |house| puts "@@@O-#{house}@@@" url = "http://shibuya-o.com/category/#{house.downcase}/?id=schedule&Year=#{y}&Month=#{m}" doc = Hpricot(open(url)) date = (doc/".scheduledate") date.each do |elm| d = elm.inner_text.split[0].match(/#{"%02d" % m}\/(\d\d)/)[1] title = (elm/"../../../td/span[@class='scheduletitle']").inner_text.strip desc = (elm/"../../../td/p")[1..4].map{|v| v.inner_text.strip}.join("\n") post_id = (elm/"../../../td/span[@class='scheduletitle']")[0]["id"] permlink = "#{url}##{post_id}" print <<-"EOD" ●#{y}年#{m}月#{d}日 @ O-#{house} □#{title} #{desc} => #{permlink} ---- EOD end end exit 0
書いてみて思ったんだけど,本当に短いコードでやりたいことができた。ビックリだわ。
このコードを元にフヒヒするよてい。




