1先对首页进行了简单分析
在try jsoup里面过滤http://music.163.com的时候发现好多数据不存在。
在 source里面搜索关键字 得知她在加载了http://music.163.com/discover 这个页面进行数据更新
然后成功抓取首页。即推荐页的所有图片。歌手,专辑,歌曲名,banner,
2进一步对歌曲链接分析
先点一首mp3进行播放,在network里面过滤发现了 http://music.163.com/weapi/song/enhance/player/url?csrf_token= 这个请求返回了mp3
关键点是他传了2个加密参数,直接模拟请求这个地址。加上这2个参数,成功请求出mp3
继续在source里面搜索 这个地址和参数名称的关键字,找到
var bzl9c = window.asrsea(JSON.stringify(j4n), bfC4G(["流泪", "强"]), bfC4G(Ni7b.md), bfC4G(["爱心", "女孩", "惊恐", "大笑"]));
e4i.data = k4o.dd7W({
params: bzl9c.encText,
encSecKey: bzl9c.encSecKey
})
这个函数,感觉很像,直接debug 发现就是这里。通过传一个歌曲id,然后进行加密得到2个key
大概看了一眼,js语法不懂,我也就不还原算法了。按老师说的做 ,直接java里面调用加密算法,
然后,成功得到key ,然后模拟请求了几首歌曲。成功返回。到此,分析结束