http://www.kuwo.cn/url?format=mp3&rid=81010978&response=url&type=convert_url3&br=128kmp3&from=web&t=1584003980221&reqId=xxxxxxxxxxxxxxxxxx
{
"format": "mp3", # 音频格式
"rid": "81010978", # 音乐的id
"response": "url",
"type": "convert_url3",
"br": "128kmp3",
"from": "web", # 来源
"t": "15840xxxxx60779", # 时间戳
"reqId": "xxxxxxxxxxxxxxxxxx", # 请求id
}
经过测试剔除了一些参数 http://www.kuwo.cn/url?rid={}&type=convert_url3&br=128kmp3
下面这是响应的json
数据
{"code": 200, "msg": "success", "url": "https://sz-sycdn.kuwo.cn/96f635b8ea7045ffe7f1dec9baa4cf4d/5e6a0115/resource/n1/68/38/37304574.mp3"}
请求返回了一个json
数据,从这里我们可以看到,该**音乐id
**对应的请求的url
,由于可以在新的标签页打开这个请求,可以看出这里的请求反爬几乎没有
rid
值rid
值http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?key=%E4%B8%80%E4%B8%AA%E4%BA%BA%E5%BE%88%E5%A5%BD&pn=1&rn=30&reqId=xxxxxxxxxxxxxxxxxx
通过浏览器访问时,出现了403 Forbidden
的响应,应该是做了一些反爬措施,经过测试,剔除了一些参数得到 http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?key={}
rid
值http://www.kuwo.cn/api/www/bang/bang/musicList?bangId=93&pn=1&rn=30&reqId=xxxxxxxxxxxxxxxxxx
这个接口需要cookie
头和csrf
头,从浏览器copy一下就可以了(应该是比较cookie
里面的csrf
值和csrf
头里面的值是否相同)
{
"bangId": "93", # 酷我飙升榜
"pn": "1", # 页数
"rn": "30", # 一页的歌曲数
"reqId": "xxxxxxxxxxxxxxxxxx", # 请求的id
}
由于获取音乐列表是通过bangid
获取,所以要找到获取bangid
的接口
http://www.kuwo.cn/api/www/bang/bang/bangMenu 找到这个接口有点巧合
这个接口里面的sourceid
就对应了bangid
值
这个接口需要cookie
头和csrf
头,从浏览器copy一下就可以了(应该是比较cookie
里面的csrf
值和csrf
头里面的值是否相同),就是处理一下csrf
,直接访问会出现{"success":false,"message":"CSRF Token Not Found!","now":"2020-03-xxx:00:xxx"}
来一张图
从这里,我们可以算一下,如果每一个子榜单下载前30首歌那么一共下载的歌曲数目为:
5 + 13 + 6 + 5 + 9 + 2 = 40
40 * 30 = 1200
4M
4800M = 4800/1024~= 4.69G
mid
值获取音乐信息http://www.kuwo.cn/api/www/music/musicInfo?mid=81010978&reqId=xxxxxxxxxxxxxxxxxx
这个接口需要剔除的参数很少,就一个reqid
应该是标识的身份信息
{
"mid": "81010978", # 音乐的mid值 和 rid 相同
"reqId": "xxxxxxxxxxxxxxxxxx", # 请求的id
}
这个接口需要cookie
头和csrf
头,从浏览器copy一下就可以了(应该是比较cookie
里面的csrf
值和csrf
头里面的值是否相同)
http://m.kuwo.cn/newh5/singles/songinfoandlrc?musicId=80488731&reqId=xxxxxxxxxxxxxxxxxx
这个接口新建一个标签就可以访问了。
{"data":{"lrclist":[{"time":"0.0","lineLyric":"《你的答案》"},{"time":"2.46","lineLyric":"作词 Lyrics:林晨阳 刘涛"},{"time":"4.69","lineLyric":"作曲 Music:刘涛"},{"time":"7.34","lineLyric":"演唱Singer:阿冗"},{"time":"9.32","lineLyric":"制作人 Produced by 刘涛"},{"time":"12.09","lineLyric":"编曲 Arranger:谭侃侃"},{"time":"14.6","lineLyric":"吉他 Guitar:谭侃侃"},{"time":"15.15","lineLyric":"键盘 Keyboards:谭侃侃"},{"time":"17.44","lineLyric":"合声 Backing vocals:金天 胡阁"},{"time":"18.95","lineLyric":"录音棚 Recording studio:北京好乐无荒录音棚"},{"time":"19.65","lineLyric":"录音师 Recording Engineer:吴佳敏"},{"time":"20.35","lineLyric":"混音师 Mixing Engineer:刘三斤"},{"time":"21.59","lineLyric":"母带后期混音师 Mastering Engineer:刘三斤"},{"time":"22.2","lineLyric":"监制 Executive producer: 陶诗"},{"time":"23.0","lineLyric":"OP/SP:好乐无荒"},{"time":"24.0","lineLyric":"封面设计:kidult."},{"time":"24.82","lineLyric":"鸣谢:万物体验家;不要音乐"},{"time":"25.24","lineLyric":"也许世界就这样"},{"time":"28.49","lineLyric":"我也还在路上"},{"time":"31.13","lineLyric":"没有人能诉说"},{"time":"36.21","lineLyric":"也许我只能沉默"},{"time":"39.25","lineLyric":"眼泪湿润眼眶"},{"time":"42.1","lineLyric":"可又不甘懦弱"},...
略。。。可以查看我的github
https://github.com/DAJINZI01/kuwo_cn顺便点一下star