尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Spotify 歌单保存到本地:一个命令行工具,让音乐真正属于你

Spotify 歌单保存到本地:一个命令行工具,让音乐真正属于你 Spotify 歌单保存到本地一个命令行工具让音乐真正属于你【免费下载链接】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 歌单里存了多少首舍不得删的歌我算了算自己的387 首。它们陪过我通勤、跑步、熬夜加班但说实话我从来没有真正拥有过它们。直到有一天我在隧道里点开歌单眼睁睁看着进度条转了三圈弹出一个加载失败的提示才意识到这份收藏有多脆弱。今天要聊的主角是spotify-downloader一个能把 Spotify 上的歌曲和歌单完整保存为本地文件的命令行工具。它支持单曲下载和整张歌单批量保存并且会自动补齐歌名、歌手、专辑封面甚至歌词等元数据下载完成就是一份随时可播、永久在手的本地音乐库。下面我会用自己踩坑换来的经验手把手带你走一遍从安装到进阶的全过程。先说说我为什么非要把歌单搬回家我的痛点大概可以归结为三类看看你有没有中招网络说了算地铁隧道、飞机客舱、信号差的老家这些场景里在线播放基本等于碰运气会员说了算订阅一到期缓存和已下载灰飞烟灭几年的收藏一夜回到解放前平台说了算偶尔会收到歌曲因版权原因已下架的提示连个招呼都不打。我不想每次出门前都手动检查哪些歌能离线、哪些不能更不想在某天突然发现自己精心整理的歌单变成一纸空谈。把歌真正下载到硬盘里才是最踏实的解法。我试过的几种笨办法都没撑过一周在遇到 spotify-downloader 之前我折腾过不少歪门邪道App 内置下载看似离线其实会员过期就失效换个设备还得重新同步手机录音音质感人不说一首歌录完还得自己剪开头结尾工程量大到离谱网页逐个下载一首一首点387 首歌能点到我怀疑人生。这些方案要么不持久要么太累。我需要的是一次性把整张歌单全部搞定、文件质量靠谱、信息还齐全的方案而这正是 spotify-downloader 的强项。它是怎么做到的一个聪明的借力思路先破除一个常见误解歌不是从 Spotify 下载的。Spotify 只负责提供这首歌曲的信息歌名、歌手、专辑、时长等真正的音频来自 YouTube。整个流程大致是四步从 Spotify 拿到歌曲的准确信息拿着这些信息去 YouTube 搜索最匹配的音频下载音轨的同时实时转码成 MP3 格式把 Spotify 的元数据封面、歌词、专辑等写进文件里。换句话说它把 Spotify 当成一本权威曲库手册把 YouTube 当成音频仓库自己当中间人完成配对。也正因为用了 Spotify 的链接匹配到的元数据准确性有保障。整个过程自动化程度很高你只需要扔给它一个链接或者一段歌名描述剩下的交给它就好。出发前的准备三样东西缺一不可动手之前先确认环境。这个工具要求Python 3.6 或更高版本另外还需要安装音频处理核心依赖FFmpeg。安装 spotify-downloader 本身很简单一条命令pip3 install githttps://gitcode.com/gh_mirrors/spotifydownlo/spotify-downloader.git如果你电脑里同时装了 Python 2 和 3建议先跑一下pip3 -V确认 pip3 指向的是 Python 3避免装错环境。FFmpeg 的安装方式随系统不同略有区别# Ubuntu / Debian 系 sudo apt-get install ffmpeg # macOS推荐用 Homebrew brew install ffmpegWindows 用户则要下载 FFmpeg 的构建包把ffmpeg.exe放进 PATH 包含的目录比如C:\Windows\System32。装好后在任意目录敲ffmpeg不报command not found就说明没问题。最后验证一下spotdl --help能看到一屏选项说明就恭喜你成功迈出第一步了。第一次实操让第一首歌属于你下载单曲有两种最常见的姿势。方式一直接给 Spotify 链接推荐元数据最准spotdl --song https://open.spotify.com/track/你的歌曲ID方式二直接输入歌名和歌手没链接时用spotdl --song 周杰伦 - 七里香还能一口气塞多首进去spotdl --song 周杰伦 - 七里香 林俊杰 - 江南执行后工具会在当前目录生成 MP3 文件并自动写好封面和歌词等标签播放器里看起来就像正规渠道购买的一样体面。整张歌单搬回家教科书级的两步走保存歌单要比单曲多一步但思路很清晰——先把歌单登记成一份文本清单再让工具照着清单批量下载# 第一步把歌单里的歌全部登记到一个 txt 文件 spotdl --playlist https://open.spotify.com/playlist/你的歌单ID # 第二步照着清单批量下载 spotdl --list 生成的歌单文件.txt第一步执行完你会看到类似INFO: Writing 62 tracks to ncs-releases.txt的提示说明 62 首歌已经写进清单第二步则是真正的下载环节。另外专辑也可以用同样的思路spotdl --album 专辑链接生成清单后再spotdl --list下载。想自定义清单文件名用--write-to参数就行。这里有个很贴心的细节清单里的歌每下载完一首就会从列表里移除所以万一中途断网、关机重跑一遍命令它会很聪明地从没完成的地方继续不会重复劳动。让下载结果长成你想要的样子默认情况下所有歌都会堆在当前目录文件名是歌手 - 歌名。但音乐库整理这件事我建议一开始就立好规矩。指定输出目录用-f参数它其实控制的是完整的文件命名模板还支持自动建子目录spotdl --song 周杰伦 - 七里香 -f /home/me/Music/{artist}/{album}/{title}这样会自动生成歌手/专辑/歌名的目录结构从此告别一锅粥。更省事的做法是写配置文件。工具第一次运行时会生成一个config.yml位置因系统而异Linux 通常在~/.config/spotdl/config.ymlWindows 在C:\Users\用户名\AppData\Local\spotdl\config.ymlmacOS 在~/Library/Application Support/spotdl/config.yml。打开它就能设置默认输出格式、码率、命名规则、覆盖策略等免去每次敲一堆参数的麻烦。注意命令行参数优先级高于配置文件两者同时存在时以命令行输入为准。老司机爱用的三个提速技巧技巧一多歌单一键批处理。如果手里有好几个歌单要搬写个简单脚本循环执行就行——无非是把生成清单和批量下载两步套进循环里配合从链接里提取歌单 ID 的小操作就能一键跑完整个备份计划。技巧二跳过已经下载的歌。重复下载是很浪费时间的默认遇到同名文件时它会询问你是覆盖还是跳过。想让跳过成为默认行为加个参数spotdl --list my_list.txt --overwrite skip另外还可以用--skip-file维护一份黑名单文件配合--write-successful-file记录已成功下载的歌曲实现精准跳过、绝不重复劳动。技巧三自定义 YouTube 搜索词。默认搜索格式是歌手 - 歌名 lyrics如果你的歌匹配得不准可以换成更精确的模板比如想专门下某首翻唱或 Nightcore 版本spotdl --song https://open.spotify.com/track/你的歌曲ID --search-format {artist} - {track-name} nightcore支持在模板里用的标签有歌名、歌手、专辑、年代、时长等十几种灵活度很高。折腾路上常见的坑帮你提前避雷下载速度慢换非高峰时段试试检查一下网络或者通过http_proxy、https_proxy环境变量走代理把 YouTube 的流量导向更快的线路。有的歌匹配不到先确认链接没复制错再检查歌名有没有歧义比如翻唱太多。也可以手动去 YouTube 搜一下原曲确认存在再调整搜索格式。元数据不全先确认 FFmpeg 装好且在 PATH 里这是写入标签的基础少数冷门歌曲确实没有完整信息属于正常现象。突然报HTTP Error 429: Too Many Requests这通常是短时间下载太多触发了限流等几个小时到一天自动恢复。如果赶时间换 IP、重启路由器或者挂代理都能缓解。youtube-dl 报错这类解析器报错通常上游已经修复跑一下pip3 install youtube-dl -U更新即可。macOS 上遇到证书校验失败执行pip3 install --upgrade certifi多半能解决。万一你还想更懂它源码与文档指路如果你对它的内部实现感兴趣代码组织得相当清晰几个关键模块各司其职spotdl/authorize/负责 Spotify API 的认证授权spotdl/metadata/providers/从 Spotify 与 YouTube 获取歌曲信息spotdl/encode/encoders/处理音频格式转换spotdl/lyrics/providers/负责歌词的获取与匹配。每个模块都配有对应的测试文件跑pytest就能执行全量测试项目的工程严谨度可见一斑。想了解全部可用参数翻一翻docs/source/available-options.rst各种下载方式详解在docs/source/download-tracks.rst更高级的玩法UNIX 管道、跳过文件、代理等可以看docs/source/advanced-usage.rst。最后说几句掏心窝的话工具再好用也要记得它被创造出来的初心是技术演示而非盗版神器。请务必只下载你有权使用的音乐尊重版权、支持你喜欢的艺术家——如果真心喜欢一张专辑买一份正版永远是最好的致敬。不过话说回来能够真正拥有自己精心整理的歌单这件事本身就让人安心。那份 387 首的收藏如今安静地躺在我的硬盘里按歌手和专辑分好类封面齐全歌词完整飞机上、隧道里、山顶上没有信号的地方它都随时在。好的工具从来不是让你更焦虑而是让复杂的事情变得理所当然。打开终端敲下几条命令你也值得拥有这样一份真正属于自己的音乐库。【免费下载链接】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),仅供参考
返回列表