スポンサーリンク

【Python】Spotify APIでアーティスト情報を取得する方法

Python

Spotifyを使って普段からよく音楽を聴いているのですが、SpotifyもAPIがあるということで少し触ってみました。

今回はSpotify APIを使ったアーティスト情報を取得方法など紹介します!
初心者の方でもわかるようにSpotify APIを使うための準備手順もあわせて紹介します!

Python初心者でも簡単にできるのでぜひ挑戦してみてください。

Rakuten

Spotify APIの準備

h2_0

Spotify APIを使用するための準備を行います。

Spotify APIの準備
  • Spotify Appの作成
  • Pythonライブラリのspotipyをインストール

PythonでSpotify APIを使うためにはClient IDClient Secretという2つが必要となります。

これら2つはSpotify Appを作成することで取得できるので、取得方法を手順を紹介します。

Spotify Appの作成


APIのサイトにアクセス
下記のサイトからSpotify Appの作成を行います。Spotify Appの作成にはSpotifyのアカウント登録が必要となりますのでご準備ください。

Dashboard | Spotify for Developers


Appを作成する
トップページのCREATE AN APPをクリック


Appの詳細を入力
App nameApp descriptionを入力、チェックを入れてCREATEをクリック

App作成完了
PythonでSpotify APIを使用するときのClient IDClient 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 IDClient 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を取得します。

https://open.spotify.com/artist/0llYwFIMgF9Jzmp4ZY7wbr

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の有名なアーティストがコブクロの関連アーティストとして取得することができました。

まとめ

h2_4

今回はSpotify APIを使ってPythonでアーティスト情報の取得を実践してみました。

Spotify APIはアーティスト情報だけでなく曲の分析などもできるみたいなので今度やってみようかなと思います。

コメント

タイトルとURLをコピーしました