楽曲名を集める
まず、楽曲名を数千曲決めます。楽曲名だけだと一意にならないので、アーティスト名とまとめて取得することを目指します。アーティストをある程度取れたら、そのアーティストの楽曲を後述の検索で全て列挙しDBに加えてもいいかもしれません。
このgitbookの記事の内容は以下のすべてのDBを用いています。同人誌の方の記事は商用利用っぽいのでApple RSS Generatorから集めた情報のみから統計処理しています。
DBから取得
検索するAPIを使うにも、とっかかりとなるアーティスト名なり曲名なりが必要になるので、これらはウェブから取得して成形することにしました。
Jpop
- ヒット曲コレクションさま http://collection.hitsong.jp/year.php : 年代ごとのヒット曲を掲載している。2013年までで止まっている。
- レコチョクさま http://recochoku.jp/ : トップからは行けないが、"レコチョク [年代名] ランキング"でググれば、その2013年以降のランキング特集のページが出てくる。
アニソン
- Anison Generationさま http://anison.info/data/ : アニソンが網羅されています。csvもある。
- Wikipedia 年代別アニメソング一覧 : の中盤あたりにある主題歌一覧みたいな場所に年代別に大量にある。すごい。
Anison GenerationさまのDBはcsvを配布しているので取扱が非常に容易です。残りはDBの形では提供されていないので、HTMLをダウンロードしてBeautifulSoupで処理したり、ブラウザで表示して全部テキストにコピペしてサイトごとに整形したりしました。ぶっちゃけ後者のほうが楽です。
Apple RSS Generator
Appleの提供するiTuneのRSSジェネレータ。RSSなので検索できない以外はiTune Search APIとだいたい一緒。検索はできないが、2016年のものについてはジャンル指定検索もできジャケットの取得もここでできる。デフォルトより大きなジャケットを取得するにはurlの100x100を600x600などにすればいい。
- URL : https://rss.itunes.apple.com/jp/
- APIキー :不要
- 取れるメタ情報 : ジャンル、価格、国、発売日など
- ジャケット取得 :可(600x600程度までは少なくともある)
- Rate limit : 基準はないが、あまり多くはない
- Pythonとの連携 : URL作ってrequestsで叩く
- コメント :ドキュメントが暗黒 詳細はituneの章で。