理系学生日記

おまえはいつまで学生気分なのか

CD のランキングを Oricon から引っ張ってくる必要はなかった

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