You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Spotify API自动获取专辑URI?

解决方案

一、通过专辑名称自动获取URI

  • 调用Spotify Search API,指定搜索类型为album,传入专辑名称即可返回匹配结果,从中提取专辑URI。
  • 代码示例(基于spotipy库):
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials

# 初始化客户端
client_id = "你的Client ID"
client_secret = "你的Client Secret"
sp = spotipy.Spotify(auth_manager=SpotifyClientCredentials(client_id=client_id, client_secret=client_secret))

def get_album_uri(album_name):
    # 搜索专辑,返回最匹配的1个结果
    results = sp.search(q=album_name, type='album', limit=1)
    if results['albums']['items']:
        return results['albums']['items'][0]['uri']
    else:
        return None

# 调用示例
album_uri = get_album_uri("目标专辑名称")
if album_uri:
    print(f"专辑URI: {album_uri}")
else:
    print("未找到匹配的专辑")
  • 优化建议:如果存在同名专辑,可在搜索关键词中加入艺术家名称(格式:q=f"{album_name} artist:目标艺术家名"),或调整limit参数返回更多结果后手动筛选,提升匹配准确性。

二、直接通过曲目名称获取音频特征

  • 无需先获取专辑URI,直接调用Search API搜索曲目,拿到曲目ID后调用audio_features接口即可提取特征。
  • 代码示例:
def get_track_features(track_name):
    # 搜索曲目,返回最匹配的1个结果
    results = sp.search(q=track_name, type='track', limit=1)
    if results['tracks']['items']:
        track_id = results['tracks']['items'][0]['id']
        features = sp.audio_features(track_id)[0]
        return features
    else:
        return None

# 调用示例
track_features = get_track_features("目标曲目名称")
if track_features:
    print(f"曲目特征: {track_features}")
else:
    print("未找到匹配的曲目")
  • 优化建议:同样可加入艺术家名称缩小搜索范围,避免同名曲目干扰。

批量处理注意事项

  • 将需要处理的专辑名/曲目名存入JSON或CSV文件,通过循环遍历调用上述函数,完全替代手动操作。
  • Spotify API有请求频率限制,批量处理时可加入time.sleep(1)这类延时逻辑,避免触发限流。

内容的提问来源于stack exchange,提问作者TF7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 23:50:35