Spotifyのプレイリストを分析して、自分の好きな音楽を知れないかな、と思っています。
Spotifyで分析するためには、データが必要です。
spotipyというライブラリを利用して、データを取ります。
以下の記事を参考にさせていただきました。
spotipyライブラリを使う手順
ざっくり手順を確認します。
- spotipyをインポート
- 認証をインポート
- idとsecretを変数に入れる
- spotipyを読み込む
- ユーザー名とプレイリストIDを設定する
- プレイリストデータを取得する
詳細
spotipyをインストールします。
pip install spotipy
まず、spotipyと認証ライブラリ(?)をインポートします。
import spotipy from spotipy.oauth2 import SpotifyClientCredentials
そして、idを設定します。
idはSpotifyのDashboardで取得します。
取得したIDとSECRETを設定します。
IDとSECRETは32桁くらいの文字列です。
client_id='ここに取得したIDを入れる' client_secret='ここに取得したSECRETを入れる'
IDとSECRETを認証(?)したものを変数に入れます。
client_id_secret = SpotifyClientCredentials(client_id, client_secret)
次に、spotipyを読み込んで、変数spに入れます。
sp = spotipy.Spotify(client_credentials_manager=client_id_secret)
次に、ユーザー名と取得したいプレイリストを設定します。
user = 'Spotifyのユーザー名を入れてください' playlist_id = '59aGQ5CfHNPhLe0OzbvBDD'
最後に、プレイリストデータを取得します。
playlist_data = sp.user_playlist(user, playlist_id)
確認します。
{'collaborative': False, 'description': '2022年11週目のプレイリスト', 'external_urls': {'spotify': 'https://open.spotify.com/playlist/7qKwh074Msa1UMgsvsZeF1'}, 'followers': {'href': None, 'total': 0}, 'href': 'https://api.spotify.com/v1/playlists/7qKwh074Msa1UMgsvsZeF1?additional_types=track', 'id': '7qKwh074Msa1UMgsvsZeF1', 'images': [{'height': 640, 'url': 'https://mosaic.scdn.co/640/ab67616d0000b27365134bf14c71182753b148acab67616d0000b27395d8c3f4c8b1eba5ad67c910ab67616d0000b273b52af5dbb146e83899a351a4ab67616d0000b273e9f07089161121bb12051264', 'width': 640}, {'height': 300, 'url': 'https://mosaic.scdn.co/300/ab67616d0000b27365134bf14c71182753b148acab67616d0000b27395d8c3f4c8b1eba5ad67c910ab67616d0000b273b52af5dbb146e83899a351a4ab67616d0000b273e9f07089161121bb12051264', 'width': 300}, {'height': 60, 'url': 'https://mosaic.scdn.co/60/ab67616d0000b27365134bf14c71182753b148acab67616d0000b27395d8c3f4c8b1eba5ad67c910ab67616d0000b273b52af5dbb146e83899a351a4ab67616d0000b273e9f07089161121bb12051264', 'width': 60}], 'name': '11weeks2022', 'owner': {'display_name': 'yusakuhamajima', 'external_urls': {'spotify': 'https://open.spotify.com/user/yusakuhamajima'}, 'href': 'https://api.spotify.com/v1/users/yusakuhamajima', 'id': 'yusakuhamajima', 'type': 'user', 'uri': 'spotify:user:yusakuhamajima'}, 'primary_color': None, 'public': True, 'snapshot_id': 'NDEsNjc4MWI1ODEyNTJlOWNkODkxOTJmY2Y3ZjBjOGI0ZmQ1YTUwYjAxNg==', ... 'offset': 0, 'previous': None, 'total': 5}, 'type': 'playlist', 'uri': 'spotify:playlist:7qKwh074Msa1UMgsvsZeF1'}
無事にプレイリストデータを取得できました。