网易云音乐的缓存文件经过处理,也就是异或加密了的,要获得MP3文件,需要解密. 这个仅用于学习. 请大家尊重音乐的版权.其实大多数歌曲都是可以下载的
- 这是一个用于获取网易云音乐缓存文件的mp3文件的 python script.
利用缓存文件,解密(异或163的hex)得到MP3文件, 并通过其metadata,命名文件,
顺便从api或者网页抓取歌词,详细介绍可以看这里
- 使用selenium爬取 music.163.com 获取歌曲的封面/歌词/元数据,再修改解密后的mp3文件的tag,把元数据放进去。
windows:用户文件夹下:AppData/Local/Netease/CloudMusic/Cache/Cache 里面。
或者打开 网银云音乐 软件,在软件的设置里面可以找到 缓存目录。
脚本会监听文件夹变动,当网易云客户端一起开启后,网易云客户端缓存一个脚本就转存一个。
客户端每次缓存文件都会先创建一个空的uc文件,等到用户切歌(或者下载完毕后?),空文件会被修改,变成有内容的文件。所以使用watchdog监听文件的modify,而不是create。
-
环境搭好,在命令行模式下
python3 decrypt.py
-
使用打包好的
先修改
decrypt.config
srcDir:网易云的缓存文件夹
desDir:存放 输出的mp3文件
再运行
decrypt.exe
pyinstaller -F decrypt.py
conda create -n py397 python=3.9.7
conda activate py397
pip install --no-index --find-links=.\wls -r .\requirements.txt
监听文件变动和下载,因为网易云的缓存策略所以 监听到要下载的歌总是慢客户端一步
欢迎 fork & PR