把 Spotify 歌单搬回家:用 spotify-downloader 打造永久离线音乐库

📅 2026/8/20 14:37:41
把 Spotify 歌单搬回家:用 spotify-downloader 打造永久离线音乐库
把 Spotify 歌单搬回家用 spotify-downloader 打造永久离线音乐库【免费下载链接】spotify-downloaderDownload your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).项目地址: https://gitcode.com/gh_mirrors/spotifydownlo/spotify-downloader那年夏天我和朋友开车翻越川西的垭口海拔 4000 多米手机信号断断续续。车载屏幕上我精心收藏了半年的三百首歌单转了一圈又一圈最后只留下一行加载失败。那一刻我才真正意识到在流媒体时代我们收藏的从来不是音乐而是一份随时可能失效的使用权。如果有一种办法能把歌单连同封面、歌词一起变成躺在硬盘里的 MP3 文件该有多好。这个念头把我带到了spotify-downloader——一个开源的命令行小工具。它不花哨不复杂却恰好能解决这件事把 Spotify 上的单曲、歌单、专辑甚至某位艺术家的全部作品统统转成本地音乐文件。先花 30 秒看看它能为你做什么在动手之前先认识一下它的本事输入 Spotify 链接、歌名甚至 YouTube 链接它都能找到对应音频下载后自动补齐元数据歌名、歌手、专辑、封面、发行日期、曲目编号连歌词都尽量抓全开箱即用内置了 Spotify 的客户端凭证不需要你去开发者后台申请任何 API Key默认输出 MP3也支持 FLAC、M4A、OGG 等格式音质随你挑不挑机器连树莓派这类低功耗小盒子都能跑得动一句话总结你负责把链接丢给它它负责把能永久保存的音乐交到你手上。装好它只需要三步前提条件有两个Python 3.6 及以上版本以及负责音频转换的 FFmpeg。# 第一步安装 spotify-downloader pip3 install githttps://gitcode.com/gh_mirrors/spotifydownlo/spotify-downloader.git# 第二步装上 FFmpeg # Ubuntu / Debian 系 sudo apt-get install ffmpeg # macOS brew install ffmpeg# 第三步验证是否装好 spotdl --help看到一屏参数说明说明工具已经就位。这里有个容易忽略的细节如果系统里找不到 ffmpeg工具会自动退化成不转码模式所以 FFmpeg 务必先装利索否则最后得到的就不是你想要的格式了。下载第一首歌一分钟上手装好之后就是最激动人心的时刻两种姿势任选# 姿势一直接给 Spotify 链接元数据最准 spotdl --song https://open.spotify.com/track/2DGa7iaidT5s0qnINlwMjJ # 姿势二只报歌名和歌手让它自己去找 spotdl --song 周杰伦 七里香第二条命令最有意思——你连链接都不用给它会自动跑去 YouTube 搜索最接近的结果。一次想下多首用空格隔开就行spotdl --song 周杰伦 七里香 陈奕迅 十年小提示能拿到 Spotify 链接就尽量用链接。因为链接对应的歌曲一定真实存在于 Spotify 曲库工具获取的元数据就不会张冠李戴。它到底是怎么把在线变成本地的趁下载的空档来聊聊背后的原理。它并没有从 Spotify 上下载任何音频——那也不可能。真正的流程更像一场四步接力赛从 Spotify 取档案拿到歌手、歌名、专辑、发行日期等完整信息去 YouTube 找声音用这些信息拼出搜索词在 YouTube 上寻找匹配的音频源边下载边转码把匹配到的音频流取回来同时用 FFmpeg 实时转成 MP3给文件盖章把第一步拿到的元数据写进文件再从歌词服务商那里抓一段歌词。打个比方Spotify 负责出户口本YouTube 负责出真人而 spotify-downloader 就是那个把两者撮合到一起、还顺手帮你办齐全套证件的中介。所以你拿到手的文件封面、歌手、专辑信息一应俱全看起来就像是从正版商店买回来的一样。把整个歌单搬回家经典两步走单曲下腻了歌单才是重头戏。下载歌单需要两个动作# 第一步把歌单里的所有曲目导出成一个文本清单 spotdl --playlist https://open.spotify.com/playlist/你的歌单ID # 第二步对着清单批量下载 spotdl --list 你的歌单ID.txt第一步会生成一个以歌单命名的.txt文件也可以用--write-to指定文件名里面是每一首歌的 Spotify 链接第二步则逐条把它们下载下来。这个设计有个隐藏优点清单本身可以反复使用还能随手编辑——删掉不想下的或者自己往里追加几首。类似的入口还有不少全都浓缩在一行命令里你想做的事命令下载一张专辑spotdl --album 专辑链接下载某位歌手的全部专辑spotdl --all-albums 歌手链接下载某用户的所有公开歌单spotdl --username 用户名从自建文本清单批量下载spotdl --list 文件.txt把 YouTube 视频直接转成音乐spotdl -s YouTube链接让音乐库长成你想要的样子默认情况下下载的文件会以歌手 - 歌名.mp3的形式躺在当前目录。但每个人对音乐库的整理癖好都不同所以它给了充分的定制权。自定义命名与目录结构用-f参数支持各种占位符spotdl --song 周杰伦 七里香 -f {artist}/{album}/{track-name}.{output-ext}这样下载的文件会自动落进歌手/专辑两级目录里。占位符远不止这几个还有{year}、{genre}、{track-number}、{isrc}、{track-id}等十几种足够你摆出任何想要的目录造型。自定义 YouTube 搜索词如果默认搜索老匹配错版本用-sf换一种搜法。比如想要夜店变速版spotdl --song 周杰伦 七里香 -sf {artist} - {track-name} nightcore把偏好写进配置文件首次运行后工具会在固定位置生成一份config.ymlLinux 在~/.config/spotdl/macOS 在~/Library/Application Support/spotdl/把常用默认值都沉淀进去之后每次运行自动生效。命令行参数的优先级高于配置文件两者互不打架。几个能明显提升体验的小技巧中途断了也不慌。批量下载时如果被中断直接重跑同一条命令它会跳过已完成的曲目、从断点接着干配合--overwrite skip还能免掉是否覆盖的反复询问。维护一份跳过清单。把不想再下的曲目写进一个文件用--skip-file指定下载时自动跳过反过来用--write-successful-file可以把每次成功的曲目单独记录下来方便日后核对。借用原曲的元数据。想下载翻唱版却希望文件挂上原曲的标签用::把两个目标分开即可spotdl --song 翻唱版::原曲名玩点流水线。--song支持从标准输入读取也支持把音频流直接写到标准输出。配合 mpv 播放器甚至能实现边下边听echo 赵雷 成都 | spotdl --song - -f - | mpv -下载量大记得挂代理。YouTube 限流时设置http_proxy和https_proxy环境变量就能绕开。避坑指南这些问题我都替你踩过下载速度慢——多半是网络高峰或连接质量的问题换个时段、检查网络或者试试上面的代理方案。某些歌匹配不到——先确认链接没复制错再用更精确的歌名搜一遍实在不行去 YouTube 手动搜一下看看是不是这首歌压根没有对应的音频版本。报错 HTTP 429Too Many Requests——这是 YouTube 的反爬限流通常因为你当天下载量太大大约上千首。耐心等上几小时或一天或者换个 IP重启路由器、切换移动网络都行。提示找不到某个 JS 函数——多半是 youtube-dl 过期了升级一下就好pip3 install youtube-dl -UmacOS 上出现 SSL 证书校验失败——通常是 Python 自带的证书没装好试试pip3 install --upgrade certifi。音质没有想象中高——这是工具的天花板YouTube 的音频源决定了它无法媲美无损流媒体。追求极致音质的话可能需要另寻他路。好奇源码长什么样如果你对实现感兴趣这份代码的结构相当清爽模块各司其职spotdl/authorize/处理 Spotify 的认证授权spotdl/metadata/providers/从 Spotify 和 YouTube 抓取歌曲信息spotdl/encode/encoders/负责 FFmpeg 转码spotdl/lyrics/providers/歌词的获取与匹配每个模块都配了对应的测试文件一条pytest就能全部跑完。想深入了解每个参数的具体含义可以翻看项目里的docs/source/文档目录按可用选项、下载方式、高级用法、常见问题分门别类写得相当细致。写在最后请带着尊重使用它把话说明白下载受版权保护的歌曲在你所在地区可能并不合法。这个工具更多是用来展示技术思路、方便你备份自己有权使用的音乐。如果真心喜欢某位音乐人请用购买专辑、订阅流媒体、去现场看演出等方式支持他们——工具负责保存音乐而我们负责尊重音乐。说到底spotify-downloader 解决的是一个很朴素的焦虑我们珍视的东西不该只存在于一个随时可能失效的订阅里。无论是为长途自驾备好离线歌单还是给某段重要回忆留一份永不删除的纪念它都能在几分钟内帮你把听得到变成拿得走。现在就打开终端把第一首歌搬回硬盘吧。收藏夹里那些陪你走过日夜的旋律值得一个更安稳的家。【免费下载链接】spotify-downloaderDownload your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).项目地址: https://gitcode.com/gh_mirrors/spotifydownlo/spotify-downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考