PythonでSpotify APIを使ってみる

PythonでSpotify APIを使ってみます.

全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】

# APIの登録とキーの取得

Spotifyの公式サイトに登録してAPIのキーを取得します.

# APIのIDとキー
MyID = "****************"
MySecret= "****************"

# ライブラリのインストール

APIの登録が済みましたら,Spotify APIを使用するためのライブラリをインストールします.

!pip install spotipy

# デモの実行

下記のコードでデモを実行し,Spotify APIが正常に使用できるかを確認します.

下記のコードでは,特定のアーティストの曲を検索しています.この際,アーティストIDを事前に調べる必要があります.

アーティストIDはSpotifyでアーティスト名前で検索した時のURLに記載されています.

import spotipy
from spotipy.oauth2 import SpotifyClientCredentials

# APIのIDとキー
MyID = "****************" #client ID
MySecret= "****************"  #client secret

# APIの起動
ccm = SpotifyClientCredentials(client_id = MyID, client_secret = MySecret)
spotify = spotipy.Spotify(client_credentials_manager = ccm)

# spotifyの検索キー
lz_uri = 'spotify:artist:36QJpDe2go2KgaRleHCDTp'
# アーティストIDが36QJpDe2go2KgaRleHCDTpの曲を検索
results = spotify.artist_top_tracks(lz_uri)

for track in results['tracks'][:1]:
    print('track    : ' + track['name'])
    print('audio    : ' + track['preview_url'])
    print('cover art: ' + track['album']['images'][0]['url'])
    print()

# 出力結果
# track    : Stairway to Heaven - Remaster
# audio    : https://p.scdn.co/mp3-preview/8226164717312bc411f8635580562d67e191a754?cid=166c222168b241028889782d08d8071e
# cover art: https://i.scdn.co/image/ab67616d0000b273c8a11e48c91a982d086afc69

# SpotifyAPIの検索機能

spotify.search()を使用することで,アーティスト・曲のIDがわからなくてもSpotifyで検索することができます.

spotify.search()の引数は下記の通りです.

  • q - 検索項目.ここでは2000年の曲を知りたいので,year:2000とします.
  • limit - 抽出する情報の上限値です.無料枠だと,50が最大値です.
  • offset - 抽出する情報で最初の何個をとばすか指定します.
  • type - 抽出する情報のタイプを指定します.タイプは下記の通りです.
    • artist:アーティスト
    • album:アルバム
    • track:曲
    • playlist:プレイリスト
  • market - 検索する音楽市場の国をIDで指定します.IDはISO 3166-1 alpha-2 wiki (opens new window)で確認できます.

さらに,詳細が知りたい場合は,公式ドキュメント (opens new window)を参照してください.

import spotipy
import pprint
from spotipy.oauth2 import SpotifyClientCredentials

# APIのIDとキー
MyID = "****************" #client ID
MySecret= "****************"  #client secret

# spotifyAPI起動
ccm = SpotifyClientCredentials(client_id = MyID, client_secret = MySecret)
spotify = spotipy.Spotify(client_credentials_manager = ccm)

# 検索実行
result = spotify.search(q='year:2000', limit=10, offset=0, type='track', market=None)

id_list = []
for track in result['tracks']['items']:
        id = track['id']
        id_list.append(id)
        
# 曲の特徴リスト
features = spotify.audio_features(id_list)
pprint.pprint(features)


# 出力結果
# {'acousticness': 0.00239,
#   'analysis_url': 'https://api.spotify.com/v1/audio-analysis/3AJwUDP919kvQ9QcozQPxg',
#   'danceability': 0.429,
#   'duration_ms': 266773,
#   'energy': 0.661,
#   'id': '3AJwUDP919kvQ9QcozQPxg',
#   'instrumentalness': 0.000121,
#   'key': 11,
#   'liveness': 0.234,
#   'loudness': -7.227,
#   'mode': 1,
#   'speechiness': 0.0281,
#   'tempo': 173.372,
#   'time_signature': 4,
#   'track_href': 'https://api.spotify.com/v1/tracks/3AJwUDP919kvQ9QcozQPxg',
#   'type': 'audio_features',
#   'uri': 'spotify:track:3AJwUDP919kvQ9QcozQPxg',
#   'valence': 0.285},

# まとめ

ここまでで,PythonでSpotify APIを使ってみました.

次回から,曲の特徴の抽出等を実行します.

# 参考サイト

PythonでSpotify APIを使ってみる ~全ての音楽愛好家のためのSpotify API ep 1~ (opens new window)

PythonでSpotify API [情報の文字列検索] (opens new window)

Spotify 検索 (opens new window)

Spotify API Search for Item (opens new window)

ISO 3166-1 alpha-2 wiki (opens new window)

Spotify Web APIから分析用データセットをつくる (opens new window)

Billboard×Spotifyで「〇〇年代を代表する曲」を決めよう! (opens new window)

Spotify.Tracks (opens new window)

Pythonで2次元配列の重複行を一発で削除する (opens new window)

全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】

PythonでSpotify APIを使って楽曲の特徴情報を抽出する

PythonでSpotify APIを使って楽曲の特徴情報を抽出する

PythonでSpotify APIを使って楽曲の特徴情報を抽出します.

Google Colab + seleniumでarxivの論文をアブストも含めてダウンロードし,翻訳も実施する(2022/02/25修正版)