https://mp.weixin.qq.com/s/c9CNf-iHPHf0tOtel0euPA
非原创 来自这篇文章 里面有代码的获取方式
我就不好直接贴了 尊重原作者的汗水
这篇文章写的非常详细 有很好的参考价值 值得学习
涉及了众多知识点
抓包、打断点、AES加密解密、RSA加密解密、类封装
简单复述下文章爬取思路
网易云音乐的加密手段非常高
找到post请求后 需要传入相应的加密参数后 才能获得歌曲对应的下载url
最费劲的就是如何获取加密参数
作者通过进入js源码 找到了源码中是如何加密的 有a、b、c、d等函数及参数
再使用python重新模拟这些函数 模拟RSA加密、AES加密
通过不断的观察源码 发现涉及的众多参数其实有3个都是固定值,如加密偏移量等
(实测:至今仍未改变这些固定参数 )只有一个id是需要动态传入 而id就是歌曲的内部编码id
模拟出加密过程后 之后就很简单
遇到的坑:加密的三方包Crypto反倒消耗了很多时间
python3.6版本 在安装过程了microsoft visual studio报错问题
百度了添加配置环境 还是没有解决问题
最后找啊找啊 总算在csdn找到了crypto的whl文件 下载安装即可
pycrypto-2.6.1-cp36-cp36m-win_amd64.whl
github里有
接下来是代码实测
推荐一首歌 木小雅-可能否
喜欢一首歌就反复听 讨厌一首歌也反复听或者设为闹钟
我已经开始讨厌这首歌了
最后加上一句原作者的话 觉得说的很在理
虽然可以直接用网易云下载,不用那么麻烦,但是我们学编程的是要干什么呢?
装逼啊 能用代码绝不用其他的东西