我无法使用spotipy从Spotify上的曲目打印信息。
我目前有以下代码:
import spotipy
import sys
import json
urn = 'spotify:track:450vazRH94IB21mom5FkN9'
sp = spotipy.Spotify()
track_info = sp.track(urn)
artist_name = track_info['album']['artists']
artist_name
输出:
[{' external_urls':{' spotify':' https://open.spotify.com/artist/0YWxKQj2Go9CGHCp77UOyy'}, ' href':' https://api.spotify.com/v1/artists/0YWxKQj2Go9CGHCp77UOyy', ' id':' 0YWxKQj2Go9CGHCp77UOyy', '姓名':' Fabolous', '输入':'艺术家', ' uri':' spotify:艺术家:0YWxKQj2Go9CGHCp77UOyy'}]
当我尝试使用artist_name = track_info ['] ['] ['艺术家']并添加['名称]时,如下:
artist_name = track_info['album']['artists']['name']
我收到此错误:
TypeError:list indices必须是整数或切片,而不是str
我不确定为什么它会说它是一个字符串。
答案 0 :(得分:1)
track_info['album']['artists']
是一个列表,您需要使用索引(list[0]
)获取项目:
artist_name = track_info['album']['artists'][0]['name']
它可以是多位艺术家。在这种情况下,请使用list comprehension:
artist_names = [artist['name'] for artist in track_info['album']['artists']]