87
88

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Spotify APIで遊んでみる

Last updated at Posted at 2018-01-24

認証設定

Spotify apiを利用するには、アカウント作ってclient_id, client_secretを発行してもらう必要がある。
Spotify Developer

特定アーティスト情報を取得

docのクイックスタートを早速試してみる。
2017/5/29から全てのリクエストに対してアクセストークンが必要になった模様
でもでも今のところリクエストの上限はなさそうです。
client Module一覧はこちら

quick_start.py
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials

client_id = 'xxxxxxxxxxxxxx'
client_secret = 'xxxxxxxxxxxxxx'
client_credentials_manager = spotipy.oauth2.SpotifyClientCredentials(client_id, client_secret)

spotify = spotipy.Spotify(client_credentials_manager=client_credentials_manager)

name = 'rihanna'
result = spotify.search(q='artist:' + name, type='artist')
print(result)

成功したらウジャっと色々jsonで返ってくる
超有名アーティストであっても同名の無名アーティストや類似名のアーティストは多々いるところ。
先ほどの結果をもとに下記"Rihanna"で検索してみると

for i in result['artists']['items']:
    print("{0} popularity: {1}".format(i['name'], i['popularity']))
実行結果
Rihanna : 96
Rihanna Johnson : 8
Rihanna Paige : 0
Rihanna Nicole : 0
Rebecca Rihanna : 4
Fran London feat. Rihanna : 2
League of One feat Rihanna Paige : 0
Norty Cotto, League of One feat Rihanna Paige : 0
Made famous by Rihanna : 13
Rihanna Cover Band : 6

同じRihanna1でも沢山出てくる。

右の数値はpopularityで0~100の値が入る
100に近ければ知らない人はいないぐらいのアーティストになる
Rihannaは現時点(2017年11月)で世界ランク22位
1位, 2位, 3位はそれぞれ以下の結果となっている
Ed Sheeran
Maroon 5
Post Malone

類似アーティストの取得

各アーティストには、spotifyで振られている固有idがある
先ほどの取得したjsonの一番最初に出てきたアーティストのidを欲しいなら

result['artists']['items'][0]['id'] # 5pKCCKE2ajJHZ9KAiaK11H

このidを使って類似アーティストの取得も可能。

# popularityが96のRihannaの類似アーティストを取得する
# id: 5pKCCKE2ajJHZ9KAiaK11H
result = spotify.artist_related_artists(artist_id)
for artist in result['artists']:
    artist_name = artist['name']
    popularity = artist['popularity']
    unique_id = artist['id']
    print("{0} - popularity: {1}, id: {2}".format(artist_name, popularity, unique_id))
実行結果
The Pussycat Dolls - popularity: 72, id: 6wPhSqRtPu1UhRCDX5yaDJ
Ciara - popularity: 73, id: 2NdeV5rLm47xAvogXrYhJX
Fergie - popularity: 74, id: 3r17AfJCCUqC9Lf0OAc73G
Destiny's Child - popularity: 76, id: 1Y8cdNmUJH7yBTd9yOvr5i
Gwen Stefani - popularity: 77, id: 4yiQZ8tQPux8cPriYMWUFP
Britney Spears - popularity: 81, id: 26dSoYclwsYLMAKD3tpOr4
Beyoncé - popularity: 91, id: 6vWDO969PvNqNYHIOW5v0m
Christina Aguilera - popularity: 81, id: 1l7ZsJRRS8wlW3WfJfPfNS
Jessie J - popularity: 76, id: 2gsggkzM5R49q6jpPvazou
Nicki Minaj - popularity: 93, id: 0hCNtLu0JehylgoiP8L4Gh
Iggy Azalea - popularity: 75, id: 5yG7ZAZafVaAlMTeBybKAL
Ne-Yo - popularity: 81, id: 21E3waRsmPlU7jZsS13rcj
Usher - popularity: 83, id: 23zg3TcAtWQy7J6upgbUnj
Tinashe - popularity: 76, id: 0NIIxcxNHmOoyBx03SfTCD
JoJo - popularity: 71, id: 5xuNBZoM7z1Vv8IQ6uM0p6
Jeremih - popularity: 83, id: 3KV3p5EY4AvKxOlhGHORLg
Jordin Sparks - popularity: 69, id: 2AQjGvtT0pFYfxR3neFcvz
Alicia Keys - popularity: 81, id: 3DiDSECUqqY1AuBP8qtaIa
Lady Gaga - popularity: 84, id: 1HY2Jd0NmPuamShAr6KMms
Ashanti - popularity: 73, id: 5rkVyNGXEgeUqKkB5ccK83

これで色々遊べそう

apiについての詳細はこちらに詳しく載っている

  1. Rihannaにした理由は特にない

87
88
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
87
88

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?