Radiko.jp を Webブラウザーを使わずにアクセスするAPIについてのメモ。
Radiko.jp の番組表や放送局情報を入手するAPIは、調べて公開してくれている方がいるので、Web検索すれば情報にたどり着くことが出来るのですが、自分の聴取可能エリアを知ることってどうやって行うの?とふと疑問に思いました。
PCのWebブラウザーで、http://radiko.jp/ をアクセスすれば表示されるページの最上部、Radiko の右横に聴取エリアが表示されます。なので、wget や curl で http://radiko.jp/ を叩けばわかるじゃない?と、やってみると、うまくゆかない。
wget http://radiko.jp/
ダウンロードした index.hml ファイルに、エリア情報が含まれておらず、
ラジコは、日本国内限定のサービスとなりますので、今アクセスしている場所からお聴きいただくことはできません。
なぜか日本国外からのアクセスとして認識されます。wget, curl で、直接 radiko.jp トップページをアクセスする場合と、Webブラウザーで表示されるページは異なるようです。
GPS内蔵スマートフォンの場合は位置情報を、PCの場合はアクセスしているIPアドレス情報から聴取エリアを計算しているものと思っていましたが、Agent情報のような、ブラウザー情報が必要なのか、HTMLの動作をトレースすることも必要なようです。さすがにそれは面倒くさい。
諦めかけていたところ、
http://radiko.jp/area
というURLが見つかりました。
> curl http://radiko.jp/area document.write('<span class="JP13">TOKYO JAPAN</span>');
試してみると、xml や html じゃなく不要な情報も混じっているものですが、都道府県コードと、都道府県名が返ってきました。
あまり必要とされていない情報なのか?確かに、人がラジオ番組を聴く場合、自分が聞きたい放送局やエリアは初めからわかっているわけで、ほとんど不要な情報かもしれませんね。
ここにたどり着くために結構な時間を費やしてしまいました。