ゆえあってネットで公開されている楽曲検索APIを探しているが.... LastFMがよくできていてびっくりした。特に優れているのが 類似検索系。試しに類似アーティスト検索のサンプルを書いてみた(Perlですが...)
#!/usr/bin/perl use strict; use Net::LastFM; binmode STDIN, ':encoding(utf8)'; binmode STDOUT, ':encoding(utf8)'; binmode STDERR, ':encoding(utf8)'; my $lastfm = Net::LastFM->new(api_key=>'XXXX', api_secret=>'YYYY'); while (<>) { my $artist = $_; chomp($artist); utf8::encode($artist) if (utf8::is_utf8($artist)); my $data = $lastfm->request_signed( method => 'artist.getSimilar', artist => $artist, ); foreach my $obj (@{$data->{'similarartists'}->{'artist'}}) { print "[" . $obj->{'name'} . "]"; } print "\n"; }
[SKE48][NMB48][ノースリーブス][Not yet][渡り廊下走り隊7][前田敦子] [フレンチ・キス][渡り廊下走り隊][渡辺麻友][SDN48][Chocolove from AKB48] [板野友美][アンダーガールズ][Diva][岩佐美咲][指原莉乃].....
なにこれワロリーヌ(笑) つーか大杉だろ....
さらに、ある程度アーティスト名の揺らぎも吸収してくれるみたいだ。
正しくは「ClariS」だが果たして....
[ClariS][喜多村英梨][ChouCho][StylipS][やなぎなぎ] [Lisa][Supercell][Azusa][花澤香菜][nano.RIPE][ちょうちょ] [藍井エイル][Egoist][七森中☆ごらく部][Altima][竹達彩奈] [RAMMに這いよるニャル子さん][戸松遥][春奈るな][川田まみ]...
というわけで一致度が高い順に結果が得られることがわかります(なんかへんなの含まれてるが正しいことは正しい...)。 これは優れもの!
で、Net::LastFMモジュールを使うとXML解析なしにPerlハッシュで帰ってくるし、 アーティストページのURLも含まれているので、いろいろ使えると思います。