Spotify API를 사용한 일본의 최고 차트 분석

소개



Spotify API를 사용하여 일본의 톱 차트의 곡 정보를 CSV에 출력하는 방법을 소개합니다.
이번에는 Google Colaboratory에서 Spotify API를 사용하여 일본의 최고 차트를 분석했습니다.
Google 공동체은 Jupyter notebook을 기반으로하는 오픈 소스 프로젝트로 Chrome의 데스크톱 버전에서 실행됩니다.
Colaboratory를 사용하면 Chrome 브라우저에서 쉽게 Python 실행 환경을 만들 수 있습니다.

Google Colaboratory를 사용하면 브라우저에서 Python 실행 환경을 쉽게 얻을 수 있습니다.

API 키 가져오기



이쪽은 전회의 기사에서 소개하고 있으므로 그쪽을 참고로 해 봐 주세요.
Spotify API로 음악 정보와 아티스트 정보를 얻어 보았습니다.

준비



우선 Spotify API를 다루기 위한 라이브러리인 spotipy를 설치.
문서는 여기에 있는 것 같습니다.
!pip install spotipy

pandas를 가져옵니다.
「spotipy」나 「json」도 임포트 해 OAuth2로 통신할 수 있는 상태로 합니다.
import pandas as pd
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
import json

client_id = '発行したCLIANT ID'
client_secret = '発行したCLIANT SECRET'
client_credentials_manager = spotipy.oauth2.SpotifyClientCredentials(client_id, client_secret)
spotify = spotipy.Spotify(client_credentials_manager=client_credentials_manager)

그런 다음 Spotify Charts에서 가져올 CSV를 다운로드합니다.

이번에는 일본의 Dairy TOP200 데이터를 사용했습니다.

CSV 로드



다운로드한 CSV를 Google Colaboratory에 업로드하고 Pandas에서 파일을 로드합니다.
이하의 기사를 참고로 했습니다.

google 공동체에서 파일을 로드하는 방법
pandas에서 csv/tsv 파일 로드(read_csv, read_table)
# google Colaboratoryでファイルを読み込む
from google.colab import files
uploaded = files.upload()

# PandasでCSVを読み込む、最初の行は省略
songs = pd.read_csv("regional-jp-daily-latest.csv", index_col = 0, header = 1)
songs.head(10)

# インデックスをリセットし、振り直す
songs = songs.reset_index()
songs.head(10)

코드를 실행하면 파일을 선택할 수 있으므로 방금 다운로드한 regional-jp-daily-latest.csv을 로드하면 다음 결과가 반환됩니다.


음악 정보 취득



먼저 데이터를 저장하는 Pandas의 DataFrame을 만듭니다.
그 후, 악곡 몇 분의 정보를 Spotify의 audio_features를 사용해 읽어들입니다.

pandas.DataFrame.from_dict
pandas.DataFrame, Series의 인덱스를 되돌리는 reset_index
# PandasのDataFrame作成
song_info = pd.DataFrame()

# 楽曲数分の情報を取得
for url in songs["URL"]: 
  df = pd.DataFrame.from_dict(spotify.audio_features(url))
  song_info = song_info.append(df)
song_info.head(10)

# song_infoのインデックスを振り直す
song_info = song_info.reset_index(drop = True)
song_info.head(10)

실행 결과는 여기

악곡의 「어쿠스틱감」이나 「곡의 과격함」, 「춤추기 쉬움」, 「템포」등 상세한 정보를 취득할 수 있었습니다.

CSV 파일로 출력



앞서 곡의 기본정보(songs)와 악곡의 상세정보(song_info)를 결합하여 CSV 파일로 출력합니다.
pd.concat([songs, song_info], axis = 1).to_csv("songs.csv")
files.download('songs.csv') 

실행하면 다음 CSV 파일을 다운로드할 수 있습니다.


사이고에게



이번 Spotify API를 사용해 일본의 톱 차트의 곡 정보를 CSV에 출력할 수 있어 Spotify의 곡에는 많은 정보가 부가되어 있어, 곡의 연구의 대단함에 놀랐습니다.
스스로도 지금 어떤 장르의 곡의 인기가 있는지, 그 곡은 어떤 정보를 가진 곡인지를 알 수 있어 만족하고 있습니다.
또한 Spotify API를 사용하여 뭔가를하고 싶습니다.

Spotify API에 관심이 있다면 더 좋으면 아래 기사를 읽어보십시오.
Spotify API로 음악 정보와 아티스트 정보를 얻어 보았습니다.

참고



이쪽의 기사를 참고로 했습니다.
Spotify에서 최고 차트 노래 (및 내 노래) 분석

좋은 웹페이지 즐겨찾기