免费把Spotify音乐存到本地:spotDL安装与使用教程
【免费下载链接】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里的歌曲、专辑和歌单下载到本地,保存为MP3文件。它通过匹配YouTube上的对应音源完成下载,并自动写入专辑封面、歌词和完整元数据,适合想把Spotify歌单保存到本地的用户。本文按实际使用顺序,覆盖安装、日常命令和常见问题。
从Spotify链接到本地MP3:spotDL怎么工作
spotDL的工作流程是:把Spotify的歌曲链接交给它,它根据歌手和歌名在YouTube上搜索对应的音源,下载音频后用FFmpeg处理成MP3。处理过程中会把专辑封面、歌手、流派、音轨编号等元数据写进文件,有来源的话还会附上歌词。最后按你指定的文件名规则保存,默认格式是"歌手 - 歌名.mp3"。
🚀 3条命令装好spotDL
先确认Python已安装且可用。spotDL v4要求Python 3.10及以上(早期版本只需3.7+,如果你装的是3.9或更低,先升级Python)。打开终端(Windows为命令提示符,macOS/Linux为Terminal),执行:
pip install spotdl安装主程序,部分系统需要写成pip3 install spotdl。
spotdl --download-ffmpeg下载FFmpeg到spotDL安装目录。FFmpeg负责音频格式转换,是必须组件,安装指南有各系统的替代装法。
spotdl download "歌名或Spotify链接"首次下载,用来验证环境。参数可以直接是Spotify的track/album/playlist链接,也可以是歌名文字,spotDL会先查Spotify再找音源。可选地执行spotdl --download-deno安装Deno,少数YouTube视频(如标记"面向儿童"的)需要它才能下载成功。
🌐 命令行还是Web界面:选哪种方式
- 命令行:功能完整,单曲、专辑、歌单、同步都支持,适合习惯终端或需要批量操作的人。
- Web界面:执行
spotdl web后浏览器访问 http://localhost:8800,提供搜索框和下载列表,功能只覆盖单曲下载,适合不熟悉命令行的场景。
两种方式的输出目录和音质设置都一致,Web端可用--web-use-output-dir参数让它跟随--output设置。
⚙️ 日常操作命令:下载、改目录、调音质
下载单曲、专辑、播放列表用的是同一条命令,区别只在传入的链接:
spotdl download https://open.spotify.com/track/xxxx spotdl download https://open.spotify.com/album/xxxx spotdl download https://open.spotify.com/playlist/xxxx也可以一次传多个链接,用引号包住空格分隔的内容。
按歌名搜索下载,不依赖链接:
spotdl download 'Taylor Swift - Love Story'把歌曲、专辑或歌单保存到本地。
改输出目录和文件命名。--output是文件名模板,里面可以直接写目录路径,可用变量包括{artists}、{album}、{title}、{output-ext}:
spotdl --output "MyMusic/{artists}/{album}/{title}.{output-ext}" download 链接这样文件会按"歌手/专辑/歌名"分层存放,相当于把输出目录和命名规则一次改掉。
调整音频质量用--bitrate:
spotdl --bitrate 192k download 链接需要说明的是,音源本身的上限通常是128kbps(YouTube Music Premium账号可到256kbps),--bitrate做的是转码,调高不会提升音质,只会增大文件。更多格式选项见官方使用文档。
🔗 进阶技巧:sync同步、目录组织、多设备
sync同步:让本地歌单目录跟随Spotify歌单变化。新增的歌会下载,被移除的会删掉。先创建同步文件(扩展名必须是 .spotdl):
spotdl sync https://open.spotify.com/playlist/xxxx --save-file my-list.spotdl以后歌单有更新时执行:
spotdl sync my-list.spotdl只增不删的话加--sync-without-deleting参数。
目录组织:默认文件名是"歌手 - 歌名",扁平存放。想在库变大之前定好结构,就用--output模板里的{artists}/{album}变量按歌手和专辑分层,后续所有下载自动归位。
多设备管理:spotDL本身不含多设备同步功能,实际做法是在一台固定机器(如家里的NAS或常开电脑)上下载,再把输出目录通过网盘、SMB共享或移动硬盘同步到其他设备。
🛠️ 避坑:新手最常遇到的5个问题
Q:执行 spotdl 提示 "command not found" 或 "is not recognized"?说明Python的Scripts/bin目录不在PATH里。重装Python并勾选"Add to PATH",或者用python -m spotdl 参数代替spotdl 参数。
Q:spotdl --download-ffmpeg安装失败?改用系统包管理器装:Linux 执行sudo apt install ffmpeg,macOS 执行brew install ffmpeg,Windows 从FFmpeg官网下载exe并加入PATH。
Q:某首歌一直匹配不到、下载失败?通常是YouTube上没有可下载的对应音源,或视频被限制。标记"面向儿童"的视频需要Deno,先执行spotdl --download-deno。仍不行的歌可以换一首相似版本或跳过。
Q:歌词文件缺失?spotDL从genius、musixmatch、azlyrics等多个来源按序获取歌词,来源没有这首歌的歌词就拿不到,属于正常情况而非报错。
Q:Web界面为什么下载不了整个歌单?Web模式只支持单曲搜索下载,这是官方使用文档中的限制。歌单和专辑请用命令行。
更多问题排查可参考故障排查文档。
总结与合规提醒
spotDL的核心价值是把Spotify的内容转成可长期保存的本地MP3,封面、歌词、元数据一次到位。安装只需pip加FFmpeg两步,日常使用围绕spotdl download一条命令,配合--output模板和--bitrate参数覆盖目录和音质设置,歌单维护交给sync。局限也明确:音源依赖YouTube匹配,个别歌曲可能下不到,歌词取决于来源是否提供。
请只把spotDL用于个人备份和离线收听,尊重歌手与平台的版权,不要将下载内容用于二次分发或商业用途。
【免费下载链接】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),仅供参考