如何用 spotDL 把 Spotify 歌单存到本地:歌曲、专辑与播放列表下载完整指南
【免费下载链接】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
换了新手机,本地歌曲可以整批复制过来,Spotify 里养了很久的歌单却散落在云端:有些歌还能找到,有些已经从收藏里消失。开源工具 spotDL 做的就是 Spotify 下载这件事:拿到 Spotify 链接后,它在公开音频源里匹配到对应歌曲,把音频文件连同封面与元数据一起保存到本地。
它是什么
spotDL 是一个免费开源的命令行工具:把歌曲、专辑、歌单或艺术家的 Spotify 链接交给它,它会下载音频并把信息写进文件,另带一个网页界面供偶尔下载单曲。
- Spotify 匹配:从链接读取艺术家、歌名、专辑等信息,在音频源中搜索并过滤掉不匹配的结果
- 落盘成文件:默认输出 MP3,并尽量取可用码率里最高的一档
- 元数据完整:封面、歌词、艺术家与专辑信息都会嵌入文件,换任何播放器都认得
它的工作方式一句话概括:不走 Spotify 本身的音频通道,而是以 YouTube、YouTube Music 等公开平台为音频源,用 FFmpeg 把音频与元数据合并成成品文件。
准备工作与安装
环境上只需要 Python,官方文档建议 3.10–3.14(3.7 及以上也可运行);Windows 安装时记得勾选 "Add to PATH"。
pip install spotdl装完后补两个依赖组件,最省事的方式是直接放进 spotDL 自己的安装目录,一条命令各带过:
spotdl --download-ffmpegspotdl --download-denoFFmpeg 负责音频转换,Deno 是部分视频(如标记"面向儿童"的内容)下载成功的前提,缺了它们个别歌曲会失败。
🎧 跑通第一次下载
以整张专辑为试金石。在浏览器复制专辑链接,然后在你想存放文件的目录里打开终端执行——spotDL 把文件下到你运行命令的那个目录:
spotdl download https://open.spotify.com/album/4yP0hdKOZPNshxUOjY0cZj跑完后,当前目录会出现一串以"艺术家 - 歌名"命名的 MP3。单曲通常几十秒一首,整张专辑视曲量要跑几分钟。
更多用法:指定任务的三种方式
第一次成功后,按任务换指定方式即可:
- 单曲:直接贴 track 链接,如
spotdl download https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b - 歌单批量下载:playlist 链接用法相同,列表里的歌曲按序逐首处理,如
spotdl download https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID - 关键词搜索:没有链接时,把"艺术家 - 歌名"加引号,如
spotdl download 'The Weeknd - Blinding Lights'
网页界面
不习惯命令行的场景下,网页界面覆盖搜索与单曲下载,启动后在浏览器打开http://localhost:8800即可:
spotdl web下载之后你得到什么
每个文件包含三部分:
- 音频本体:默认 128kbps MP3;YouTube Music Premium 用户配合 cookies 文件可拿到 256kbps 的 M4A/OPUS 高音质文件
- 封面与歌词:自动从 Genius、MusixMatch、AZLyrics 等来源抓取,也支持生成逐行同步歌词
- 元数据:艺术家、专辑、流派、发行年份、曲目序号、ISRC 等全部嵌入文件
输出格式除 MP3 外还支持 M4A、OPUS、FLAC、OGG、WAV,用--format选项指定即可。
⚙️ 让它更合你意
- 命名与目录组织:
--output选项或配置文件的output项支持{artists}、{title}、{album}、{year}、{track-number}等变量,文件命名和目录结构都可以自定义 - 配置文件:执行
spotdl --generate-config生成默认配置(Linux 下默认在~/.config/spotdl/config.json),之后每次运行自动加载,常用参数不用反复敲 - 歌单同步:先执行
spotdl sync <歌单链接> --save-file my-playlist.spotdl记录列表当前状态,日后歌单变更时再执行spotdl sync my-playlist.spotdl,会自动补下新曲并删除已移除的曲目;加--sync-without-deleting可只补不删 - 播放列表文件:下载时加
--m3u选项,会同时生成 m3u8 播放列表文件
完整的选项清单和排错说明在官方文档 docs/ 里,音频源实现细节可看 spotdl/providers/audio/。
使用边界
- 音频取自 YouTube 等公开平台,下载行为及其法律后果由使用者自行承担
- 只下载自己拥有合法权限的内容,用于个人收藏
- 项目方不支持对受版权保护内容的未授权下载
spotDL 的价值在于把网页上随时可能变动的歌单,变成一套信息齐全、可长期持有的本地文件。装好后,可以先用 sync 命令把你常听的一张歌单记录下来,以后保持本地与线上同步只需重复执行同一条命令。
【免费下载链接】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),仅供参考