last.fmのrecent tracksを保存して出力する

いきなりやる気が出てきたのでプログラムを書いた。よかった。
サイドバーを追加したのでなんか表示したいよねということで最近聞いた音楽を表示することに。もうみんなが2,3年前にやったりして今はもう誰もやらないんじゃないかという感じだけど。というか今ならPlaggerとか使ってやるのが熱そうなんだけどそれをやってると大変なので保留にして時代遅れな方法でやる。
last.fmのRecent Tracksはplain textとかXMLとかRSSとかで取得できますが、
API – Last.fm
XMLを使うことに。理由はデータが扱いやすそうだったから。テキストは情報が足りないので却下。
で、これは直近の10曲しかデータを持ってなくて、さらにしばらく再生してないとデータがなくなってしまいます。それをふまえて。

  1. 30分に1回の頻度でXMLを取得
  2. 必要なデータだけ取り出してDBに格納
  3. CGIRSSを出力
  4. はてなRSSモジュールRSSを読み込む

という流れです。DBはSQLiteで、使ったPerlモジュールは

とか。目的を果たせればいいのでLWPとかXMLとかてきとーにシンプルな感じで。
RSSXML::RSSとかめんどくさそうなのでテンプレートから生成。Template Toolkit万歳。超便利。
所要時間は3時間。

    • -

感想。
こんなので3時間。
というかたぶん、いまもこのさきもこのスピードから劇的な進化とかはない気がしてきた。昔からコード書くの遅いし、考えながら、テストしながら、タイプミスしながら書くので。タッチタイピングできないしね。それでも、なにげにPerlを0から始めてちょうど1年くらいだし、昔も同じようなことやろうとしたことがあって、それを考えるとすげー進歩している。そう、進歩している。ということは1年後にはまた同じように進化しているのだろうか。うん。していてほしい。
ソース。
http://takatoshi.dyndns.org/cgi-bin/viewcvs.cgi/recenttracks/trunk/