ゆえあってネットで公開されている楽曲検索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も含まれているので、いろいろ使えると思います。
![[BANNER]](../image/banner.png)