☰
spotDL 免费 Spotify 歌单下载完全指南:3 步离线 MP3 导出
2026/10/18 1:51:08 网站建设 项目流程

spotDL 免费 Spotify 歌单下载完全指南:3 步离线 MP3 导出

【免费下载链接】spotify-downloaderDownload your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).项目地址: https://gitcode.com/GitHub_Trending/sp/spotify-downloader

spotDL 是一款开源免费的 Spotify 歌单下载工具:粘贴 Spotify 歌曲、专辑或播放列表链接,它会自动到 YouTube 匹配对应曲目,连同专辑封面与元数据一起下载,导出为可离线播放的 MP3。下文按"装好环境 → 跑通第一次导出 → 高频场景 → 常见坑"的顺序,带你完整走一遍。

为什么用 spotDL 导出离线 MP3

Spotify 订阅停掉或断网时,本地音乐库是刚需,但手动一首一首保存再转换既繁琐又难以保证封面、歌手信息完整。spotDL 的思路是:从 Spotify 读取曲目元数据,再到 YouTube(及其他音源)找到音频,自动完成匹配、下载、转码,并把封面、歌词与 ID3 标签写进文件。最终得到的是与播放列表结构一致的本地 MP3 文件夹,放进任何播放器或音乐管理软件都能正常识别。

📦 安装 spotDL:两条命令到位

运行 spotDL 需要两个组件:Python 3.7 以上(安装时勾选 "Add to PATH")负责主程序,FFmpeg 负责转码与封面写入。如果只想把 FFmpeg 装给 spotDL 用,不必系统级安装,它自带一步到位的下载方式:

pip install spotdl spotdl --download-ffmpeg

macOS、Linux 上把pip换成pip3即可。第二条命令会把 FFmpeg 放进 spotDL 自己的安装目录,执行完无需再手动配置。官方还强烈建议顺手装上 Deno(spotdl --download-deno),因为部分 YouTube 视频(包括标记 "made for kids" 的)缺少 Deno 会直接报AudioProviderError: YT-DLP download error。

不想管理 Python 环境的话,仓库提供了 Docker 镜像,一条命令就能用:

docker run --rm -v $(pwd):/music spotdl/spotify-downloader download [trackUrl]

挂载的当前目录即可读写,下载结果落在容器的/music卷里。

🎧 最小可行路径:导出第一个离线 MP3

spotDL 把文件下载到你执行命令时所在的目录,所以先在终端里进入(或打开)目标文件夹,再运行:

spotdl download https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b

等待进度条走完,当前目录就生成一个带封面和元数据的 MP3。download后面的链接可以是 track、album、playlist、artist 任意一类 Spotify URL;没有链接时也可以直接搜歌,查询词要加引号:

spotdl download 'The Weeknd - Blinding Lights'

需要一次下多首时,把多个链接或查询用空格分隔排队即可,顺序无所谓。

🗂️ Spotify 歌单同步到本地

歌单是会变的:加了新歌、删了旧歌,本地文件却不会自己跟着动。spotDL 的sync操作用一个.spotdl记录文件解决这件事。首次同步时先下载歌单并生成记录文件(文件名必须以.spotdl结尾):

spotdl sync https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID --save-file "my-list.sync.spotdl" spotdl sync "my-list.sync.spotdl"

第一条命令完成首下载并写入my-list.sync.spotdl,第二条是之后的日常操作:对比记录文件与歌单现状,只补下新增曲目、删除已移除的曲目,其余文件不动。不想删除旧文件时,给第二条命令追加--sync-without-deleting即可只增不删。

🖥️ 用 spotdl web 网页界面搜歌下载

不想敲命令时,spotDL 内置了一个网页版,启动后在浏览器里搜索、点按钮下载:

spotdl web

然后访问 http://localhost:8800,在顶部搜索框输入歌名,点结果右侧的绿色下载按钮,文件会自动嵌入封面。注意网页版功能有限,只支持单曲下载,整份歌单、专辑仍建议用命令行。

🎚️ 自定义 MP3 码率与文件命名

默认输出是 128k 的 MP3。想要文件更大些可以指定--bitrate 320k,但注意这只是转码,体积变大、音质提升有限,按需使用。文件命名由--output模板控制,支持{title}、{album}、{year}、{track-number}等变量:

spotdl download [URL] --output "{artist} - {title} ({year}).{output-ext}"

生成的文件名会形如 "歌手 - 歌名 (年份).mp3"。如果你拥有 YouTube Music Premium,还可以拿到 256kbps 的源音质:先在 YouTube Music 设置里把音质调到最高,再导出 music.youtube.com 的cookies.txt,然后加参数--cookie-file cookies.txt --format m4a --bitrate disable,后者会跳过转码、保留原始高质量文件。

🛠️ 常见坑:文件位置、配置文件与报错

  1. 文件到底存哪了:就在你敲命令的当前目录。Windows 上可以按住 Shift 右键目标文件夹选"在此处打开 PowerShell",保证命令落在正确位置。
  2. 配置文件在哪:Windows 位于C:\Users\用户名\.spotdl\config.json,Linux 位于~/.config/spotdl/config.json(v4.4.3 之前旧版是~/.spotdl/config.json)。文件不存在时运行spotdl --generate-config生成,配置会在下次启动时自动加载。
  3. command not found / not recognized:几乎都是 PATH 问题。macOS、Linux 在~/.bashrc或~/.zshrc末尾加入下面一行,再source一次生效;Windows 则多半是装 Python 时没勾选 "Add to PATH" 或装了 Microsoft Store 版。
export PATH=~/.local/bin:$PATH
  1. 个别歌曲下载失败:优先执行spotdl --download-deno补上 Deno,其次用pip install -U spotdl升到最新版。

更多报错的完整对照表见 docs/troubleshooting.md。

现在就可以打开终端,把pip install spotdl跑起来,再挑一条最常用的播放列表粘进download命令——几分钟内,一份带封面的离线歌单就会出现在你的文件夹里。参数与场景的完整说明见 docs/usage.md,安装细节见 docs/installation.md。

【免费下载链接】spotify-downloaderDownload your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).项目地址: https://gitcode.com/GitHub_Trending/sp/spotify-downloader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询