JOYSOUNDWeeklyランキングの曲のSpotify楽曲情報をWeb APIで取得してみました

JOYSOUNDWeeklyランキングの曲のSpotify楽曲情報をWeb APIで取得してみました

こんにちは

今日は、JOYSOUNDのWeeklyランキングの曲をSpotifyのWeb APIを叩いて、楽曲情報を取得してみたので、そのお話です。

Google Colaboratory

JOYSOUNDのランキングのJSONデータを用意して、さてどの環境で実行しようか?
と思って、とりあえずSpotify Web APIのページでAppの設定をしてみたのですが、Macのターミナルからはなぜか上手くAPIが叩けなくて、ちょっと困っていました。

いろいろWeb検索したら、Pythonでspotipyというライブラリを使うと簡単にできそうということで、さらに調べると、「Google Colaboratory」というブラウザから無料でPythonの実行環境とテキストの混在したノートを作成する環境が利用できるらしいので、早速サイトに行っていろいろ試してみました。
Google Colab使用にはGoogleアカウントが必要ですが、それは既に持っているので問題なしです。

JOYSOUNDのWeeklyランキングの取得

例によってChromeブラウザのdevツールで、WeeklyランキングのJSONデータをダウンロードして用意は完了です。

Google ColabでPythonプログラムを作る

プログラム作成にあたり、こちらのnoteを参考にしました。
Spotifyが公開しているAPIを使ってみた話

まずは、spotipyのinstallと、IDを設定

その後、Googleドライブをマウントして、GoogleドライブからJSONデータを読み込んで、必要なランキングの部分だけのデータフレームを作ります。

次に、ランキングの曲名とアーティスト名で、APIでsearchして、取得したexternal_urlで再度APIを叩いて曲情報を得ます。
(この場合、Lemonのように米津さんのバージョンはSpotifyに配信されていない場合や、千本桜のようにSpotifyにバージョン違いやオルゴールすら配信されていない場合もありますが、今回はとりあえずSpotifyのAPIから、楽曲情報を得るのが目的なので深く考えないことにします)

得られたデータ

以下が得られたデータの一部です

この表の
「danceability、energy、key、loudness、mode、speechiness、acousticness、instrumentalness、liveness、valence、tempo」
の情報が欲しかったので、とりあえず満足です。

これらの情報の意味は、こちらのnoteを参考にしてください
Spotifyの楽曲に埋め込まれている情報がハンパない話

今後は、今回得られた楽曲情報と、同じ日に取得したSpotify Weekly Chartのデータから取得した楽曲情報を比較して、グラフなどに表示してみてカラオケランキングとSpotifyランキングとの間に有意な差がないかなども調べてみようかなと思いました。

みなさんも、Google Colabで、Python環境を無料で使ってデータ分析などにチャレンジしてみてはいかがでしょうか

I accept the donation of Cryptocurrency

BTC:3G3ZgRQ2SCLUSGjBVXctn4UyvYXWZx4iTx
ETH:0xc13d33e6450f6243eb6c7aefda1d4a9c447a9d9e

カラオケカテゴリの最新記事