网页抓包下载歌曲

网页抓包获取歌曲播放下载地址


一、歌曲抓取
以酷我音乐为例www.kuwo.cn
大致原理

1、显而易见,点击每一首个进入播放界面可以看到网址栏有一个对应的链接,并且每首歌就只有后面这一串数字不一样,相当于歌曲的一个标号,叫做rid。

 

 

2、每首歌点击播放的时候,音乐就在后台响起了,这说明你在进入这个页面,浏览器进行数据加载的时候,以及把这首歌的实际地址,也就是.mp3后缀的这个地址拿到了

3、中间的这个过程是最令人着迷的,这中间究竟经历了什么?大致弄清楚,问题就解决了。

开始探索
1、找一首不需要付费的歌曲,点击进入播放页面
2、浏览器打开网页按下F12,点击Network,这里可以看到整个网页在进行数据加载的时候发送了哪些请求,接收了哪些东西

 

 

3、刷新页面 (重新获取.mp3后缀的链接,加载传输的请求和数据包)
可以看到有一些图片,一些js脚本

 

 

4、大致分析数据包

 

 

这里有几个圈
Headers 请求头信息,其中有请求的时候发送了哪些东西给服务器,以及服务器响应网页的头部信息(Response Headers) ,响应的头部信息其中的一些部分会被用作下一步请求链接的组建,意思就是从歌曲页面链接到获取实际播放地址,中间可能经过几次的中转。
Preview 就是预览效果,这个点击不同的数据包看一看就可以了
Response 就是响应的数据包内容,有些是HTML页面数据,有些是js数据

5、点击Preview,一个一个查看数据包,js、png就可以跳过

 

 

!! 这里我们看到了歌词,假如这是我想要获取、下载的。就点击Preview 左边的Headers

 

 

直接浏览器打开这个链接就可以得到了,自己试一试,重点马上就来了

6、获取实际地址

 

 

查看到这个数据包的时候,看到一个.mp3后缀的,赶紧试一下!! 没必要,我试过的,必然没错,哈哈哈哈,开个玩笑

 

 

成功了!可以播放,可以下载
7、获取接口
那么问题来了,这种方式去获取所有(fu fei)歌曲,是获取不到的,或者说获取得到歌曲不符合,怎么办??? 找到接口,也就是通过这个,加上一个rid,就可以解决

没错,点击左边的Headers

 

 

 

 


只要修改rid 就可以获取所有歌曲,perfect

 

 

获取该数据包的请求链接Request URL,通过JAVA爬虫即可获取歌曲名等信息,可参考另一篇博客

原文链接:https://blog.csdn.net/Kevin1906/article/details/102834658

posted @ 2021-03-31 10:42  Kevin1906  阅读(345)  评论(0)    收藏  举报