2

给定歌曲标题和艺术家姓名,我正在尝试使用 Spotipy 找到正确的歌曲。但是,我看不到同时按歌曲名称和艺术家进行搜索的方法:要么是一个,要么是另一个:

   sp.search(q="Money", type="track", limit=10)
   sp.search(q="Pink Floyd", type="artist", limit=10)

这样做的问题是我得到了一堆不相关的结果,特别是如果我按曲目搜索(例如:金钱的最高结果是 Future 的“Rent Money”而不是 Pink Floyd 的“Money”)。我可以扩展限制并过滤掉不相关的结果,但考虑到我将大规模执行此操作,我宁愿正确查询 Spotify,获取第一个结果,然后继续。有没有办法使用 Spotipy 同时查询曲目名称和艺术家?

4

1 回答 1

2

尝试查看https://developer.spotify.com/web-api/search-item/

我认为你是误解类型。我总是想返回一个曲目列表,所以类型是track. 换句话说,这定义了要返回的实体的类型。

查询过滤器可以是完全通用的Money,也可以专注于某些参数,例如artist:Floyd track:Money. 这可能非常强大,因为您可以查看专辑、日期字段、流行度等。

我常用

let q = String.init(format:"artist:%@ track:%@",artistName,trackName)

不要忘记对字符串进行 % 编码!

于 2017-03-13T15:18:24.063 回答