Spotifyを使って普段からよく音楽を聴いているのですが、SpotifyもAPIがあるということで少し触ってみました。
今回はSpotify APIを使ったアーティスト情報を取得方法など紹介します!
初心者の方でもわかるようにSpotify APIを使うための準備手順もあわせて紹介します!
Python初心者でも簡単にできるのでぜひ挑戦してみてください。
Spotify APIの準備
Spotify APIを使用するための準備を行います。
PythonでSpotify APIを使うためにはClient ID
とClient Secret
という2つが必要となります。
これら2つはSpotify Appを作成することで取得できるので、取得方法を手順を紹介します。
Spotify Appの作成
APIのサイトにアクセス
下記のサイトからSpotify Appの作成を行います。Spotify Appの作成にはSpotifyのアカウント登録が必要となりますのでご準備ください。
Appを作成する
トップページのCREATE AN APP
をクリック
Appの詳細を入力App name
とApp description
を入力、チェックを入れてCREATE
をクリック
App作成完了
PythonでSpotify APIを使用するときのClient ID
とClient Secret
の取得することができます。
Spotipyのインストール
Spotipy
はPythonでSpotify APIを扱うためのライブラリになります。Spotipy
を使用することで音楽データやアーティスト情報を取得することが簡単にできます。
インストール
Python環境がある方はインストールおよび更新はターミナルで下記コマンドで可能です。
pip install spotipy --upgrade
spotifyではなくてspotipyであることに注意してください。
Python環境がなくてもGoogle Colaboratorを使えば、Pythonをブラウザ上で実行できます。Googleアカウントをお持ちであれば利用できるので、お試しください。
これでSpotify APIをPythonで扱う準備は完了です。
それではSpotify APIを使ってみましょう。
Spotify APIを使う
PythonでSpotify APIを使って情報を取得してみたいと思います。
まずはSpotify APIのアカウントを認証します。先ほどApp作成したときに取得したClient ID
とClient Secret
を書き換えて実行します。
# import modules
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
client_id = 'XXXXXXXXXXXXXXXX' # App作成時のCliend ID
client_secret = 'XXXXXXXXXXXXXXXX' # App作成時のCliend Secret
client_credentials_manager = spotipy.oauth2.SpotifyClientCredentials(client_id, client_secret)
spotify = spotipy.Spotify(client_credentials_manager=client_credentials_manager)
アーティスト情報の取得
今回はコブクロのアーティスト情報を取得してみたいと思います。まずは、SpotifyのWebページからアーティストIDを取得します。
Spotify URL: https://open.spotify.com/artist/0llYwFIMgF9Jzmp4ZY7wbr
アーティストIDは下線部分のURLのaritst以降の部分になります。
コブクロのアーティスト情報を取得してみます。
>>> artist_id = '0llYwFIMgF9Jzmp4ZY7wbr' #コブクロのアーティストID
>>> spotify.artist(artist_id)
{'external_urls': {'spotify': 'https://open.spotify.com/artist/0llYwFIMgF9Jzmp4ZY7wbr'},
'followers': {'href': None, 'total': 1110259},
'genres': ['j-pop', 'j-poprock', 'j-rock'],
'href': 'https://api.spotify.com/v1/artists/0llYwFIMgF9Jzmp4ZY7wbr',
'id': '0llYwFIMgF9Jzmp4ZY7wbr',
'images': [{'height': 640,
'url': 'https://i.scdn.co/image/ab6761610000e5ebbea5b19173efd5cc3160f546',
'width': 640},
{'height': 320,
'url': 'https://i.scdn.co/image/ab67616100005174bea5b19173efd5cc3160f546',
'width': 320},
{'height': 160,
'url': 'https://i.scdn.co/image/ab6761610000f178bea5b19173efd5cc3160f546',
'width': 160}],
'name': 'KOBUKURO',
'popularity': 52,
'type': 'artist',
'uri': 'spotify:artist:0llYwFIMgF9Jzmp4ZY7wbr'}
辞書型で情報が取得できました。name
にはKOBUKUROの文字、popularity
は人気を表すような指標の情報が取得できることが確認できます。
人気曲の取得
人気曲の情報はspotify.artist_top_tracks(artist_id)
で取得することができます。
このまま実行すると様々な情報が取得できてよくわからないので、今回は人気曲の曲名だけを表示させてみます。
>>> for track in spotify.artist_top_tracks(artist_id)['tracks']:
>>> print(track['name'])
WINDING ROAD
桜
蕾(つぼみ)
未来
ここにしか咲かない花
Million Films
君という名の翼
流星
赤い糸 - Album Mix
永遠にともに
コブクロのTopページ表示されている人気曲Top10の情報を取得することができました。
関連アーティスト情報の取得
関連アーティストの情報はspotify.artist_related_artists(artist_id)
で取得することができます。
こちらも関連アーティストの名前だけを表示させてみます。
>>> for artist in spotify.artist_related_artists(artist_id)['artists']:
>>> print(artist['name'])
HY
FUNKY MONKEY BABYS
GReeeeN
miwa
ayaka
Motohiro Hata
Masaharu Fukuyama
Kumi Koda
Every Little Thing
Sukima Switch
Superfly
Hazzie
Leo Ieiri
YUZU
SEKAI NO OWARI
Kiroro
Ketsumeishi
Mika Nakashima
Mihimaru GT
Chris Hart
J-popの有名なアーティストがコブクロの関連アーティストとして取得することができました。
まとめ
今回はSpotify APIを使ってPythonでアーティスト情報の取得を実践してみました。
Spotify APIはアーティスト情報だけでなく曲の分析などもできるみたいなので今度やってみようかなと思います。
コメント