最近有下载整张音乐专辑的需求,但市场上的一些产品不能满足该需求,于是我就拿出了万能的GitHub找到了这个开源项目:yun-playlist-downloader

该下载器全程在命令行上操作。

安装Node.js

首先你需要安装Node.js,并配置好环境变量。什么?不会百度?

安装yun-playlist-downloader

使用pnpm或npm命令安装,输入以下命令:

# 任选一即可
# pnpm
pnpm add -g yun-playlist-downloader
# npm
npm i yun-playlist-downloader -g

如果长时间没动静挂梯子或切镜像源,切换淘宝镜像源命令:

# npm切换淘宝镜像源命令
npm config set registry https://registry.npmmirror.com/
# npm切换淘宝镜像源命令
pnpm config set registry https://registry.npmmirror.com/

运行yun --help查看是否安装成功。

然后cd到一个目录下,不要用像CMD的默认路径,否则C盘下会多出一堆音乐文件。

使用yun-playlist-downloader

其实在刚刚你输入的yun --help中已经基本详细列出了所有命令的使用方法,每个参数的细节参见仓库的README,这里摘抄一些:

Usage: yun <url> [options]

位置:
  url  歌单/专辑的链接                                                  [字符串]

选项:
      --retryTimeout  下载超时(分)                            [数字] [默认值: 3]
      --retryTimes    下载重试次数                            [数字] [默认值: 3]
      --cover         下载封面                            [布尔] [默认值: false]
      --cookie        cookie文件             [字符串] [默认值: "yun.cookie.txt"]
  -h, --help          显示帮助信息                                        [布尔]
  -v, --version       显示版本号                                          [布尔]
  -c, --concurrency   同时下载数量                                        [数字]
  -f, --format        文件格式                                          [字符串]
  -q, --quality       音质                                                [数字]
  -s, --skip          对于已存在文件且大小合适则跳过                      [布尔]
  -p, --progress      是否显示进度条                                      [布尔]

示例:
  yun -c 10 <url>                          10首同时下载
  yun -f ":singer - :songName.:ext" <url>  下载格式为 "歌手 - 歌名"

帮助 & 文档: https://github.com/magicdawn/yun-playlist-downloader

设置Cookie

对于下载VIP音乐,你需要一个已经拥有VIP账号才行,下面给一下获取Cookie的教程。
安装浏览器插件EditThisCookie,这里给个Chrome扩展商店的链接:https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg
打开插件的设置,按下图更改设置:

打开网易云音乐,登录账号,打开插件选择“导出Cookie”:

在你刚刚那个目录下新建一个yun.cookie.txt文件,粘贴刚刚导出的Cookie,保存,结束。

示例配置

如果有一点基础常识应该使用命令没什么问题,我这里给出了一个我自己的配置,可以参考一下:

yun <url> -c 10 --cookie -f ":albumName - :songName - :singer.:ext"

该命令意思是:下载并发10首歌,使用Cookie(默认使用yun.cookie.txt内的Cookie),歌曲文件名为专辑名 - 歌曲名 - 歌手名<url>改为你要下载的歌单/专辑/电台链接即可。

示例:

写在最后

这个下载器最高只能下载320kbits/s(默认)的音质,不过其实也够了,那种什么超清母带真的没必要。
如果你就是死活不会用还不想用我的那个配置,你可以尝试将README丢给AI,例如ChatGPT,Claude等。