id:yusukebe さんが WWW::CDTV - Get a weekly music ranking from CDTV ( Japanese TV Program ) - metacpan.org を作っているのを CPAN のフィードの中から発見して,Oricon から引っ張ってくる必要なんてなかったんだなーと思うなどした.
ソース読むと CDTV のサイトからスクレイピングしているみたい.正規表現で抜き出すのはどうしてもソースが汚くなりそうだなとこれまで思っていたのですけども,ソース見たら正規表現で抜き出しているのにとてもキレイで,結局ぼくの能力不足が汚くなる原因であることを実感した!
前に書いたスクリプト(http://d.hatena.ne.jp/kiririmode/20080518)で出したランキングが,WWW::CDTV を使うとこんなに簡単に!
#!/usr/bin/perl use strict; use warnings; use WWW::CDTV; binmode STDOUT, ':utf8'; # 例えば 2/9 のランキングが欲しければ,引数を # { url => 'http://www.tbs.co.jp/cdtv/cddb/countdown20080209-j.html' } # に書き換えるだけ! my $cdtv = WWW::CDTV->new; print '=' x 10, $cdtv->week, '=' x 10, "\n"; for my $rank ( 1 .. 10 ) { my $track = $cdtv->track( $rank ); print join ' ', sprintf( "%3d.", $rank), $track->title, $track->artist, $track->move, "\n"; }
[y-kiri perl 03:42:03 ] ./cdtv.pl ==========2008/05/31========== 1. Dreams come true Hey!Say!JUMP new 2. Prisoner Of Love 宇多田ヒカル up 3. DON'T U EVER STOP KAT-TUN down 4. ロケットスニーカー/One×Time 大塚 愛 new 5. 虹 Aqua Timez down 6. 幸せのものさし/うれしくてさみしい日(Your Wedding Day) 竹内まりや new 7. エイトビート ザ・クロマニヨンズ new 8. 踊れ Micro of Def Tech new 9. SUMMER TIME NEWS down 10. Supernova/Wanderland 9mm Parabellum Bullet new