Python 使用spotipy提取艺术家类型和歌曲发布日期

Python 使用spotipy提取艺术家类型和歌曲发布日期,python,pandas,api,spotipy,Python,Pandas,Api,Spotipy,我目前正在Spotify中研究从歌曲中提取特定项目。我想从一位艺术家那里得到具体的发行日期和类型。我从熊猫数据报中提取的信息如下:。 我试着用手来完成大部分工作,但作为一个包含1100首歌曲的数据框架,这变得很乏味。所以我研究了API来帮助实现这一点,特别是spotipy。 我有一个想法,我将首先: import spotipy from spotipy.oauth2 import SpotifyClientCredentials #To access authorised Spotify da

我目前正在Spotify中研究从歌曲中提取特定项目。我想从一位艺术家那里得到具体的发行日期和类型。我从熊猫数据报中提取的信息如下:。 我试着用手来完成大部分工作,但作为一个包含1100首歌曲的数据框架,这变得很乏味。所以我研究了API来帮助实现这一点,特别是spotipy。 我有一个想法,我将首先:

import spotipy
from spotipy.oauth2 import SpotifyClientCredentials #To access authorised Spotify data
client_id = 'client_id'
client_secret = 'client_secret'
client_credentials_manager = SpotifyClientCredentials(client_id=client_id, client_secret=client_secret)
sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager) #spotify object to access API
name = "AJR" #chosen artist
result = sp.search(name) #search query
result['tracks']['items'][0]['artists']

但我不知从何处着手。我试过查看文档,虽然有关于如何从Spotify For Developers页面获取流派和日期的信息,但我似乎在spotipy中找不到。任何关于从这里走到哪里或如何实现算法以获得所需细节的建议都将是非常好的。谢谢

Spotify目前还没有公开曲目类型。相反,它公开了与艺术家或专辑相关的流派列表

类似地,它不公开曲目的发布日期,而只公开整个专辑的单个发布日期。因此,虽然我不确定艺术家是否可能在专辑发行后向其添加新曲目,这意味着专辑发行日期可能并不总是表示相应专辑中所有曲目的正确发行日期

我试过查看文档,虽然有关于如何从Spotify For Developers页面获取流派和日期的信息,但我似乎在spotipy中找不到

您需要访问完整分页对象才能访问艺术家或相册中的流派信息

result=sp.search(名称)
结果['tracks']['items'][0]['Artisters']
您从这段代码中得到的不是艺术家的完整分页对象,这意味着它缺少一些额外的细节,而流派是其中之一

您需要单独调用相应的端点来访问完整的分页对象。例如,此代码:

result=sp.search(“AJR”)
track=结果['tracks']['items'][0]
艺人=sp.artist(曲目[“艺人”][0][“外部URL”][“spotify”])
印刷品(“艺术家类型:”,艺术家[“类型”])
album=sp.album(曲目[“album”][“外部URL”][“spotify”])
打印(“专辑类型:”,专辑[“类型”])
打印(“相册发行日期:”,相册[“发行日期”])
产出:

artist genres: ['modern rock']
album genres: []
album release-date: 2020-02-12
Spotify可能不知道某些专辑(如上面的输出)或艺术家的类型