nmdown
nmdown copied to clipboard
网易云音乐批量下载器
################## 网易云音乐下载脚本 ##################
批量下载网易云音乐的歌曲,支持专辑和歌单,也可以下载歌词,补全歌曲标签和替换成清晰封面。
文件内容
- cloudmusic 协议解析库
- downloader 简单粗暴下载器
- gmscript 油猴脚本
- nmdown.py 主程序
Python 脚本
支持批量下载,下载后自动补充缺少的 ID3 Tags。
ID3 Tags
下载回来的 mp3 文件,ID3 Tags 只有歌名、专辑名和专辑封面,因此需要从元数据补充一下。
补充的 tag 有:
- 艺术家
- 在专辑中的序号/专辑歌曲总数
- 发行商
- 发行日期
- 在云音乐中的地址(某些播放器可能不会显示)
依赖
cloudmusic 里的代码仅依赖 Python 2.7 的标准库。
downloader 依赖 Python 的 eyed3 库来修改 ID3 Tags。
用法
支持下载单曲、专辑、歌单,直接带上页面地址即可
单曲,下载到当前目录 ::
./nmdown.py http://music.163.com/#/song?id=442723
专辑,下载到文件夹,默认是 [专辑]专辑名 ::
./nmdown.py http://music.163.com/#/album?id=42967
歌单,下载到文件夹,默认是 [歌单]歌单名 ::
./nmdown.py http://music.163.com/#/playlist?id=3020931
艺术家,下载到文件夹,默认是 [艺术家]艺术家名/[专辑]专辑名 ::
./nmdown.py http://music.163.com/#/artist?id=2842
或者包含页面地址的本地文件,格式为每行一个 ::
./nmdown.py url.txt
参数可以多个地址和文件名混合使用。
可选选项
可通过运行 ./nmdown.py --help 查看可选参数。
音质
``-q 音质名`` 优先下载指定音质,音质名意义如下:
码率名
* ``low`` 低音质,码率 96kbp/s。
* ``medium`` 中等音质,码率 160kbp/s。
* ``high`` 高音质,码率 320kpb/s,也有些歌曲是 256kbp/s 或 192kpb/s。
码率别名,其实就是码率名的映射
* ``normal`` 普通音质,web 播放器的默认音质,相当于 ``medium`` ,默认下载此音质。
* ``best`` 最佳音质,当前歌曲的最高码率音质,相当于 ``high`` 。
有些歌曲不存在 ``high`` 码率,有些甚至连 ``medium`` 都没有,使用码率名会下载不到,
而使用码率别名会自动降级映射,不会出错。
歌词
-l 同时下载歌词,创建 lrc 文件。
有些歌词可能没有时间轴。
下载目录
``-o`` 指定使用的下载目录,如果不存在,则自动创建,默认使用当前目录。
封面
~~~~
``-c`` 替换为高分辨率封面。
原始的 mp3 文件自带封面,但是分辨率比较小,使用此选项替换为分辨率更高的图片。
油猴脚本
========
在歌曲页面上显示各种音质的下载地址和歌词。
许可证
======
GPLv3