データアナリストのメモ帳

データアナリストのメモ帳

IT企業で働くデータアナリストのブログ

SpotifyのAPIでミスチルの関連アーティストを調べてみた【Python】

SpotifyのAPIを使ってミスチルの関連アーティストを調べてみる

SpotifyAPIを使うと任意のアーティストの関連アーティストを取得できます。 Spotify APIの使い方は前回の記事で詳しく説明してるので、ぜひ読んでみてください!

前回の記事:
k2-tech.hatenablog.com

ミスチルの関連アーティスト20組は誰だ?

関連アーティストの定義は、ユーザーの視聴履歴に基づいているようです。
もちろん詳しい定義は明記されていません。

では、さっそくコードを書いてみましょう!
spotipyをインストールしていない場合は、先にpip installしましょう。

!pip install spotipy

以下のようにrelated_list_getという関数を定義し、関連アーティストを取得します。アーティストのIDは、SpotifyのアーティストページのURLのartist/以下の文字列となります。 https://open.spotify.com/artist/1qma7XhwZotCAucL7NHVLY

# import modules
import pandas as pd
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials

# API reference https://spotipy.readthedocs.io/en/2.17.1/
client_id = 'XXXXXXXXXXXXXXXX'
client_secret = 'XXXXXXXXXXXXXXXX'
client_credentials_manager = spotipy.oauth2.SpotifyClientCredentials(client_id, client_secret)
spotify = spotipy.Spotify(client_credentials_manager=client_credentials_manager)

# アーティストのIDを取得
artist_id = '1qma7XhwZotCAucL7NHVLY' # Mr.Children

# 関連アーティストのリストを生成する関数
def related_list_get(artist):

  related_list_raw = spotify.artist_related_artists(artist)
  related_list = []
  for i in range(len(related_list_raw['artists'])):
    id_ = related_list_raw['artists'][i]['id']
    name = related_list_raw['artists'][i]['name']
    followers = related_list_raw['artists'][i]['followers']['total']
    popularity = related_list_raw['artists'][i]['popularity']
    values = [id_, name, followers, popularity]
    related_list.append(values)

  return related_list

related_list = related_list_get(artist_id)

pd.DataFrame(related_list).rename(columns = {0: 'id', 1: 'name', 2: 'followers', 3: 'popularity'})

この結果が以下です。 ちなみに、followersはフォロワー数、popularityは直近の再生回数に基づく人気度です。 SpotifyのAPIを使ってミスチルの関連アーティストを調べてみる

Bank Bandスピッツ、ポルノグラフティ、Superfly、米米CLUBなど、たしかにミスチルが好きな人が聴いていそうなアーティストですね!
今回は以上です。