艰难的网易云爬虫~

1.我的歌单地址:
https://music.163.com/#/playlist?id=548905727
里面只有一首歌: k歌之王

2.目的:
目的其实就是通过爬虫到的东西来进行歌单歌曲(k歌之王)的下载(不同的歌单歌曲肯定不同,为了让自己能理解,就删了只剩一个歌曲)。
歌曲下载其实很简单,只要得到url为.mp3结尾的点击打开,然后用requests来爬取内容保存到本机就可以了,比如:
我在我的歌单里点击播放按钮,肯定会发送请求,收到(k歌之王)的歌曲播放内容(内容肯定是二进制流)。
在点击播放按钮之前,先清除下网络里的东西:
在这里插入图片描述点击播放按钮之后能会请求歌曲内容的请求:
在这里插入图片描述歌曲内容的请求应该就是以.mp3结尾的,我们找一找,果然很会就找到了:
在这里插入图片描述点击后,我们在就复制网址进行网页打开:
在这里插入图片描述在这里插入图片描述莫名感觉自己很啰嗦…

下载的代码附上,将歌曲以1.mp3文件的形式下载到我的文件中:
在这里插入图片描述啥都没伪装就搞定了,嘿嘿嘿…

到这里我们的目的结束了吗?就这几行代码?肯定不是嘛

3.真正的目的是,在我的歌单的url(https://music.163.com/#/playlist?id=548905727)主界面里找到我的所有歌曲地址(我的是一首:k歌之王),然后同过requests获取找到含有我的歌曲网址的地址,然后解析出我的歌单歌曲的地址内容进行下载。
所以我们要继续寻找,请求我的歌单主界面(等于刷新一次),在网络里找到有我歌单歌曲的请求,果然,我们找到了:
在这里插入图片描述
查看消息头得到的地址:https://music.163.com/weapi/song/enhance/player/url?csrf_token=b78b191c05c207167ab43dd67bf58d34

在这里插入图片描述

我们复制网址进行打开发现,啥也没有???
在这里插入图片描述

而之前点击请求的时候,右边的响应信息里明明有内容的呀:
在这里插入图片描述

所以这里就需要我们分析了,这里地址我们发现是POST请求,就是需要传入参数的,我的理解是,应该在原本的地址后面加上参数内容,类似与https://music.163.com/weapi/song/enhance/player/url?csrf_token=b78b191c05c207167ab43dd67bf58d34?userid=1&pwd=2这种的,当然后面的?userid=1&pwd=2是我乱加的

我们现在就要去寻找参数了:
在这里插入图片描述

参数还是加密了,因为我们复制参数加在上面那个地址后面肯定也是没有东西的,所以这里我们需要对这两个东西进行解密了,现在我们要去调试器(chrome是source)里找js文件,没错,就是js文件,令人头大的东西…,因为加密过程一般是在js文件里,对重要信息进行处理后呈现在我们面前的,就是上面两个参数后面看不懂的东西。这里其实就是做前端很难受的地方,自己做出来的东西,就是这些js、html、css文件,放在浏览器上,谁都可以看见。

在这里插入图片描述

下面的过程就更复杂了,我还需要再研究下,什么加密AES、RSA、MD5(希望自己没写错)算法,还有浏览器的端点控制等等,自己肯定有分析错误的地方,望指出,这些内容都是参考了很多大佬们的,网址附上:

https://blog.csdn.net/qq_38282706/article/details/80251666

https://www.zhanghuanglong.com/detail/csharp-version-of-netease-cloud-music-api-analysis-(with-source-code)

猜你喜欢

转载自blog.csdn.net/miaokezhang/article/details/84948556