news 2026/8/21 1:25:13

把 Spotify 歌单搬进本地硬盘,只靠一个命令:spotify-downloader 保姆级上手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
把 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

先想一个问题:你的 Spotify 歌单真的属于你吗?spotify-downloader是一个开源命令行工具,专治这个心病——它能把 Spotify 上的单曲、专辑和整张歌单转成本地 MP3,连同封面、歌词和完整元数据一起留下。能从中受益的,正是那些曾在信号盲区或订阅断档时,对着灰色歌单干瞪眼的人。

比如一个月前的我。那个周末我带着攒了半年的露营歌单进山,信号一格不剩,100 多首歌瞬间变成一堆无法点亮的灰色条目。后来才知道,订阅一旦停掉,这些歌单会被"回收"——你收藏了它们,却从没真正拥有过它们。

先看结果:三个它替你干完的活

在折腾具体命令之前,先说我在实测中最满意的三点:

  • 一个链接换一首 MP3:把 Spotify 的歌曲链接丢给它,剩下的事它全包了;
  • 元数据不是"半成品":下载完的文件自带专辑封面和内嵌歌词,连发行日期、碟号、ISRC 编码这些细节都有,扔进任何播放器都像正规渠道买的;
  • 不用申请任何 API Key:很多同类工具第一步就劝退人——去开发者后台注册、填表、等审批。它把凭证内置好了,装完就能用。

一句话总结:输入是 Spotify 链接,输出是带完整信息的本地音频文件。

它的工作机制:一个"找货 + 送货"的中间人

它为什么能做到?原理不神秘,总共四步:

  1. 用 Spotify 接口拿到歌曲的完整信息(歌名、艺术家、专辑、时长);
  2. 用这些信息去 YouTube 上搜索匹配的音频;
  3. 下载后用 FFmpeg 转成指定格式(默认 MP3);
  4. 把第一步拿到的元数据写进文件,顺手嵌入封面和歌词。

类比一下:Spotify 负责告诉你"这是谁的哪首歌",YouTube 负责提供"音频本身",spotify-downloader 是那个来回跑腿、还顺手把包装做精美的中间人。

整个匹配过程可以全自动,也可以在你监督下手动确认(后面会讲到具体参数)。

三行命令完成安装

前提:系统里有 Python 3.6 或更高版本。然后按顺序执行:

pip3 install git+https://gitcode.com/gh_mirrors/spotifydownlo/spotify-downloader.git

这条命令把工具装进你的 Python 环境。

# Ubuntu / Debian 用户 sudo apt-get install ffmpeg # macOS 用户 brew install ffmpeg

FFmpeg 负责音频转码和元数据写入,是核心依赖,别跳过这一步。

spotdl --help

看到一屏参数说明,就说明安装成功了。

第一次实战:两分钟下载第一首歌

先挑最简单的场景——单曲下载。两种方式任选:

spotdl --song https://open.spotify.com/track/歌曲ID

直接丢 Spotify 链接,适合你明确知道要下哪首的时候。

spotdl --song "周杰伦 - 七里香"

没有链接?直接输入"歌手 - 歌名",它也能搜。

实测感受:命令行会实时打印匹配到的 YouTube 视频信息,下载、转码、写元数据一气呵成。对一首 4 分钟的歌来说,全程通常不到两分钟。我第一次跑通时盯着终端里跳出的进度条,还真有点成就感。

批量下载歌单:先导出清单,再统一收割

歌单的处理方式和单曲不同,要分两步走:

spotdl --playlist https://open.spotify.com/playlist/歌单ID

第一步,它把歌单里的每首歌解析出来,写进一个文本文件(比如歌单名.txt),方便你事后检查、增删。

spotdl --list 歌单名.txt

第二步,把这个文本文件交给它批量下载,它按顺序一首一首处理。

这个设计的巧妙之处在于:清单文件是纯文本,你可以手动删掉不想要的歌、调整顺序,甚至把多个歌单合并到一个文件里再一起下。我实测过一个 62 首歌的歌单,中途断网重跑了一次,已经落盘的文件会被识别并跳过,剩下没下载的接着补,不用从头再来。歌单越长,这一点越救命。

让音乐库长出你自己的目录结构

默认情况下,下载的文件叫艺术家 - 歌名.mp3,平铺在一个文件夹里。想按自己的习惯组织?用-f参数指定模板:

spotdl --song "周杰伦 - 七里香" -f "{artist}/{album}/{track-number} {track-name}.{output-ext}"

这条命令会把文件放进"艺术家/专辑/序号 歌名.mp3"的层级里,专辑目录会自动创建。支持的占位符还有{year}{genre}{disc-number}等,足够拼出任何你想要的命名规则。

输出格式和音质同样可调:

spotdl --song "周杰伦 - 七里香" --output-ext flac --quality best

--output-ext支持 mp3、m4a、flac、ogg、opus 五种;--quality决定在 YouTube 侧优先挑最佳音源还是最差音源。

匹配不准的时候,还有两个手动武器

自动匹配偶尔会翻车——歌手有多个同名版本、官方版本没上传,都是常见情况。这时有两个补救手段:

spotdl --song "某首歌" --manual

--manual会把所有候选结果列出来并编号,让你亲自挑最合适的那一个,而不是让程序自作主张。

spotdl --song "某首歌" --search-format "{artist} - {track-name} nightcore"

--search-format用来重写 YouTube 搜索关键词。我试过用它专门找某一类版本,比如在搜索格式里加上 "nightcore" 后缀,下载到的就是加速版。类似的技巧可以举一反三:加 "live" 找现场版,加 "remastered" 找重制版。

把常用参数"焊死"成配置文件

如果你经常用同一组参数,每次都敲一遍很累。工具第一次运行时会生成一个config.yml配置文件,编辑一次即可:

spotify-downloader: output_ext: mp3 output_file: '{artist}/{album}/{track-name}.{output-ext}' quality: best overwrite: skip

把常用默认值写进去,之后的命令就能省略这些参数。注意:命令行参数永远优先于配置文件——临时想覆盖某个设置,直接在命令里加上即可,不必反复改文件。完整的参数清单可以查阅项目文档里的docs/source/available-options.rst

使用前必须知道的事:关于版权

写到这里,有一句话必须放在前面:这个工具主要用于学习和备份你自己拥有使用权的音乐。下载受版权保护的音乐,在部分国家或地区是违法的。请先了解你所在地的法律,并尽量支持正版——如果你真的喜欢某位歌手,买一张专辑,比下载一百首更有分量。

现在,轮到你动手了

这篇文章里的每一步我都亲自跑过,从安装到批量下载,大约花了一个下午。但工具的价值不在于"我帮你试过了",而在于"你自己跑一遍"。

所以留给你一个 15 分钟的小挑战:找一首最近单曲循环的歌,先跑通安装和单曲下载,再用-f把它放进"歌手/专辑"的目录结构里。跑通了,就去处理你的第一个歌单。

最后留个问题给你:你会先备份哪个歌单?是跑步专用,还是深夜 emo 专用?想好答案,打开终端,开始动手。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 1:24:40

基于Python与AI的闲鱼自动化系统:Selenium与LLM实现智能回复与发货

1. 背景与核心概念在二手电商运营中,尤其是像闲鱼这样的平台,卖家常常面临一个核心痛点:如何高效处理海量的商品咨询与订单,尤其是在非工作时间。手动回复“在吗?”、“还有货吗?”等重复性问题&#xff0c…

作者头像 李华
网站建设 2026/8/21 1:22:34

V3 Admin Vite 的坑,一次说清:从环境版本到动态路由权限

V3 Admin Vite 的坑,一次说清:从环境版本到动态路由权限 【免费下载链接】v3-admin-vite ☀️ AI-friendly Vue3 admin template | Vue Admin | Vue Template | Vue3 Admin | Vue3 Template | Vue 后台 | Vue 模板 | Vue3 后台 | Vue3 模板 项目地址: …

作者头像 李华
网站建设 2026/8/21 1:20:00

系统设计中的路径抉择:直接暴露与多智能体中介策略解析

1. 项目概述:当目标一致,路径相左 在复杂系统设计、组织管理乃至个人决策中,我们常常会遇到一个核心矛盾:面对同一个高风险、高价值的目标,团队内部或不同专家给出的实现路径却截然相反,甚至完全对立。最近…

作者头像 李华
网站建设 2026/8/21 1:19:10

Windows鼠标速度调校全攻略:从注册表到DPI的精准控制

鼠标移动速度调校指南:从注册表参数到DPI设置的完整解决方案最近在调试开发环境时,遇到了一个非常具体且实际的问题:一位同事(我们暂且称他为“钊哥”)在调整Windows鼠标指针速度时陷入了困惑。他的原话是:…

作者头像 李华
网站建设 2026/8/21 1:18:43

AI图像生成技术滥用:从Grok事件看深度伪造风险与防范

最近,AI图像生成技术的滥用问题再次成为社会焦点。一起令人震惊的诉讼案件揭示了技术被用于恶意目的的阴暗面:一名女子指控其继父利用名为“Grok”的AI工具,将她童年的照片转换生成了露骨的图像。这起案件不仅是一起家庭纠纷,更是…

作者头像 李华
网站建设 2026/8/21 1:07:18

大模型数学推理新范式:批评家引导的异构多智能体协同求解

1. 项目概述:当大模型遇上数学难题,为何需要“批评家”与“混合军团”?数学问题求解,尤其是那些需要多步推理、逻辑严谨的复杂题目,一直是衡量人工智能系统认知能力的关键试金石。传统的单一大型语言模型(L…

作者头像 李华