酷狗繁星直播主播MV采集、下载地址解析

本次演示的主播作品页地址:http://fanxing.kugou.com/index.php?action=song&id=59416706

首先我们在打开开发者模式切换到Network的情况下刷新一下作品页:


按经验找到返回MV信息的Josn数据接口:http://visitor.fanxing.kugou.com/VServices/Video.OfflineVideoService.getVideoList/59416706-1-0/

并且很容易就能判断出来59416706就是酷狗繁星直播平台每一个主播的唯一ID值,我们只需要把59416706替换为酷狗繁星直播平台别的主播的ID就可以获取到相对应主播的MV作品数据。

解析后的Josn数据视图如下:

经过多页面获取对比验证了每个页面是按尾部的“-1-0”以1来递增:

http://visitor.fanxing.kugou.com/VServices/Video.OfflineVideoService.getVideoList/59416706-1-0/

http://visitor.fanxing.kugou.com/VServices/Video.OfflineVideoService.getVideoList/59416706-2-0/

http://visitor.fanxing.kugou.com/VServices/Video.OfflineVideoService.getVideoList/59416706-3-0/

......

这样子来获取每一页的数据,我们只需要获取到总共有多少页就能知道需要递增爬取多少次,理论上来说返回的MV信息Josn数据里面应该会包含有总页数,而上图解析后的Josn视图里面我们可以看到有一个键值count:404,对应了在图一里的作品(404),也就是说在我们获取第一页数据的时候可以用键值count来计算出一共有多少页(上图我们可以看得到每一页返回15条数据,(404/15=26.9非整数则+1=27页)),我们相对应的就递增爬取27次。

总结一下获取酷狗繁星直播平台主播所有MV作品的过程:

1:首先通过主播作品页获取主播的ID(比如说:59416706)

2:”http://visitor.fanxing.kugou.com/VServices/Video.OfflineVideoService.getVideoList/“+主播的ID+”-1-0/”拼凑出第一页的地址,然后访问这个地址解析返回的Josn数据后从键值count获取到MV作品数量计算出总页数(计算公式:作品数量/15)。

以上就是获取酷狗繁星直播平台主播所有MV作品的过程。


接下来就是解析出MV的视频下载链接,具体的视频直链加密计算在JS里面,感兴趣的可以下断点看一下,我直接写计算获取方法。

我们用这个视频来演示:http://fanxing.kugou.com/mvplay/863608811016167424

这个视频通过开发者工具抓包可以知道视频下载链接如下:

http://fx.v.kugou.com/G063/M00/0E/18/fw0DAFeClOGAA66XASngYXXUWOU046.mp4

而视频下载链接是通过下面链接返回的:http://tracker.v.kugou.com/video/query?pid=6&sign=c9960e452f8ce9c64d9dc0f01ae543b0&hash=d7c09ad0f4879fac1b4d332efecfb2c3


上面链接总共3个参数:

1:pid=6

2:sign=c9960e452f8ce9c64d9dc0f01ae543b0

3:hash=d7c09ad0f4879fac1b4d332efecfb2c3

首先第一个参数经过多个视频比较可以确认是搞定的,不同的视频只有参数2、3会有变化,而参数2需要去计算,参数3的hash则是hashValue,很容易就可以获取的到(如果是接着第一步下来那么我们在获取主播所有MV作品的时候就已经可以在Josn的list里面获取到)。

具体参数2的sign计算方式为

MD5(”hash“+hashValue+"pid6kugou_video"),也就是说:

MD5(hashd7c09ad0f4879fac1b4d332efecfb2c3pid6kugou_video)

你可能感兴趣的:(酷狗繁星直播主播MV采集、下载地址解析)