連続ブログ更新日数:19日
Pythonを使ってSpotifyのプレイリストにある全曲をCSVファイルに書き出す方法についてまとめる。
後編ではPythonのプログラムを使ってSpotifyのプレイリストをCSVファイルに書き出す。Spotify APIの利用までをまとめた前編はこちら。
Spotifyのプレイリストにある全曲をCSVファイルに書き出す(後編)
後編では前編で取得した「Client ID」と「Client secret 」を使って、実際にSpotifyのプレイリストにある全曲をCSVファイルを書き出す。
サンプルコード
Spotifyのプレイリストに含まれる曲の情報をCSVファイルに書き出すサンプルコードは次のようになる。
import csv
import spotipy
from spotipy.oauth2 import SpotifyOAuth
# Spotify APIのクライアントIDとクライアントシークレットを設定
SPOTIPY_CLIENT_ID = ''
SPOTIPY_CLIENT_SECRET = ''
SPOTIPY_REDIRECT_URI = ''
# Spotify認証
scope = "playlist-read-private"
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id=SPOTIPY_CLIENT_ID,
client_secret=SPOTIPY_CLIENT_SECRET,
redirect_uri=SPOTIPY_REDIRECT_URI,
scope=scope))
# プレイリストIDを指定
playlist_id = ''
# 初期化
tracks = []
offset = 0
limit = 100
while True:
# プレイリストのトラックを取得
results = sp.playlist_tracks(playlist_id, offset=offset, limit=limit)
tracks.extend(results['items'])
# 次のトラックが存在しない場合、ループを抜ける
if len(results['items']) == 0:
break
# オフセットを更新
offset += limit
file_name = '' + '.csv'
# CSVファイルに書き出し
with open(file_name, 'w', newline='') as csvfile:
fieldnames = ['Track Name', 'Artist', 'Album']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for item in tracks:
track = item['track']
writer.writerow({'Track Name': track['name'],
'Artist': track['artists'][0]['name'],
'Album': track['album']['name']})
print(f"プレイリストから {len(tracks)} 曲を取得し、{file_name} に書き出しました。")
書き換えが必要な箇所箇所は以下。
6行目 SPOTIPY_CLIENT_ID = ”:前編で取得したClient ID
7行目 SPOTIPY_CLIENT_SECRET = ”:前編で取得したClient secret
8行目 SPOTIPY_REDIRECT_URI = ”:前編でアプリ作成次に入力したRedirect URI
18行目 playlist_id = ”:取得したいプレイリストのID
37行目 file_name=”:書き出すCSVファイルの名前
ちなみに取得したいプレイリストのプレイリストIDを調べる方法は別記事で紹介しているのでそちらを参考に。
コードの実行
必要な箇所を書き換えたらコードを実行。
はじめに実行したときは以下のような確認画面が表示されるので、内容を確認して問題なければ「同意」を選択。
問題なくプログラムの実行が完了すれば、プレイリストに含まれる曲のアーティスト名などが書かれたCSVファイルが作成される。
後編まとめ
今回はSpotify APIを使ってプレイリストの曲を取得する方法を紹介した。
わからない箇所などがございましたら下のコメント欄まで。それではまた。
おまけ、2025年1月12日にあったこと
この記事を執筆した2025年1月12日には「安村 パンツ隠し続け腰痛めた過去」といった話題がありました。
コメント