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

使用Selenium/Spotify API批量点赞Spotify歌曲的方案咨询

最优方案:使用Spotify官方Web API(安全无封号风险)

你没找到正确的API端点——Spotify Web API完全支持将歌曲添加到「喜欢的歌曲」列表(也就是你说的点赞),这是官方认可的方式,不会触发账号封禁,是处理批量操作的最优选择。

核心步骤

1. 准备工作

  • 前往Spotify开发者平台创建一个应用,获取Client ID和Client Secret。
  • 申请授权权限:必须包含user-library-modify(修改用户音乐库的权限),同时搭配user-read-private等基础权限。
  • 使用Authorization Code Flow完成用户授权(因为要操作私人音乐库,不能用Client Credentials Flow)。

2. 从CSV获取歌曲ID

要添加歌曲到喜欢列表,需要先通过歌名+歌手搜索获取歌曲的Spotify ID。使用GET /search端点,搜索参数格式为:

q=track:"歌曲名" artist:"歌手名"&type=track&limit=1

返回结果中提取第一个匹配项的id字段即可。注意:如果存在同名歌曲/歌手,可能需要手动校验部分结果,或者调整搜索参数(比如去掉歌曲名里的冗余后缀)提升准确性。

3. 批量添加到喜欢列表

使用PUT /me/tracks端点,一次最多可以添加50首歌曲,请求体是包含歌曲ID的数组:

{
  "ids": ["track_id_1", "track_id_2", ..., "track_id_50"]
}

处理3000+首歌时,需要将ID列表分批,每批50个发送请求。同时要处理API的速率限制:如果收到429 Too Many Requests响应,按照响应头的Retry-After值等待后重试。

Python代码示例(使用Spotipy库简化操作)

import csv
import spotipy
from spotipy.oauth2 import SpotifyOAuth

# 初始化Spotipy客户端
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(
    client_id="你的Client ID",
    client_secret="你的Client Secret",
    redirect_uri="http://localhost:8080",
    scope="user-library-modify user-read-private"
))

# 读取CSV文件(假设CSV列是"歌曲名","歌手")
track_ids = []
with open("你的歌曲列表.csv", "r", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for row in reader:
        track_name = row["歌曲名"]
        artist_name = row["歌手"]
        # 搜索歌曲
        result = sp.search(q=f"track:{track_name} artist:{artist_name}", type="track", limit=1)
        if result["tracks"]["items"]:
            track_id = result["tracks"]["items"][0]["id"]
            track_ids.append(track_id)
            print(f"找到歌曲:{track_name} - {artist_name},ID:{track_id}")
        else:
            print(f"未找到歌曲:{track_name} - {artist_name}")

# 分批添加到喜欢列表
batch_size = 50
for i in range(0, len(track_ids), batch_size):
    batch = track_ids[i:i+batch_size]
    sp.current_user_saved_tracks_add(tracks=batch)
    print(f"已添加第{i//batch_size + 1}批歌曲,共{len(batch)}首")

注意事项

  • 授权后,Spotipy会自动处理令牌刷新,无需手动操作。
  • 如果搜索结果匹配不准确,可以尝试调整搜索关键词(比如去掉歌曲名中的括号内容、缩写等)。
  • 严格遵守API速率限制,避免频繁请求导致临时限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:32:45