使用Spotify API,我试图搜索一个艺术家的轨道。我使用的查询工作正常,如下所示:
https://api.spotify.com/v1/search?q=track:' + song + '%20artist:' + artist + '&type=track&limit=10
它正在工作,但它是返回轨道的艺术家,包括艺术家的名字提供在他们的艺术家名称字符串的任何部分。例如,如果我想要明确地知道艺术家的名字,并且想在朱的足迹中搜索,我就找不到我应该如何进行查询的方法,所以它变得明确了艺术家的名字。
就像我说的,如果我想在朱的足迹中搜索,它也会把我娜塔莉·朱的足迹还给我。
什么是正确的方式来明确艺术家的名字?
有什么方法可以明确地定义我要在朱的足迹中搜索吗?
编辑:我也尝试使用引号:
https://api.spotify.com/v1/search?q=track:"' + song + '"%20artist:"' + artist + '"&type=track&limit=10
也许我用错了它,我不确定,但如果我不使用它,这似乎不会解决:/
发布于 2017-06-01 16:32:06
似乎目前没有办法明确地寻找单一艺术家的曲目。你只能用名字来限制艺术家,就像你已经做的那样,但是这有一个缺点,那就是可能包括其他艺术家的歌曲,就像你解释的那样,其他艺术家的名字包含了预期艺术家的名字。唯一的方法是过滤返回的结果,并在必要时获取更多的结果。
我有关于这方面的开了个问题在Soptify问题跟踪器Github,但到目前为止,没有关于实现的信息。
发布于 2017-04-09 21:11:43
https://developer.spotify.com/web-api/search-item/
在track对象(full)部分下,歌曲标题的关键字不是"track“,而是"name”。
https://api.spotify.com/v1/search?q=name:' + song + '%20artist:' + artist + '&type=track&limit=10
发布于 2020-09-24 18:13:53
我发现了一项关于遍历查询结果的工作,直到找到与正在搜索的艺术家名称完全匹配的结果为止。在我所寻找的2280名艺术家中,有20个限制我得到了2269个。使用Spotipy库。
artist = "ZHU"
search_results = sp.search(artist, 20, 0, "artist")
if len(search_results['artists']['items']) != 0:
total = len(search_results['artists']['items'])
z = 0
artist_info = search_results['artists']['items'][z]
name = artist_info['name']
while name != artist:
z += 1
artist_info = search_results['artists']['items'][z]
name = artist_info['name']
if z+1 == total:
break
https://stackoverflow.com/questions/41110986
复制相似问题