QQ音乐关键字搜索并生成下载url

   日期:2024-12-18     作者:jqclv       评论:0    移动:http://qyn41e.riyuangf.com/mobile/news/7415.html
核心提示:​ 通过在QQ音乐进行关键字搜索,并通过F12检测,发现网页给网站https://c.y.qq.com/soso/fcgi-bin/client_search_cp? 发送了一

​ 通过在QQ音乐进行关键字搜索,并通过F12检测,发现网页给网站https://c.y.qq.com/soso/fcgi-bin/client_search_cp? 发送了一条get请求,便可以得到其关键词搜索的json信息,通过简化可以得到以下关键词搜索的网址:https://c.y.qq.com/soso/fcgi-bin/client_search_cp?new_json=1&remoteplace=txt.yqq.song&t=0&aggr=1&cr=1&w={}&format=json&platform=yqq.json

QQ音乐关键字搜索并生成下载url

​ 通过检查其preview我们可以发现,其中包含了我们所需要搜索歌曲的信息,如下所示:

​ 通过修改w所对应的值便可以得到我们所需要的json数据。

2.1 观察网页数据传输

​ 类似于获取歌单信息,打开一首歌并播放,按传输数据的大小排序,我们可以发现这样一条大小为3M多的get请求,毫无疑问,这便是我们所收听的歌曲。下载的url由guid、vkey、uin、fromtag组成。

​ 将Network切换到XHR,按经过一番查看,会看到这个文件,这样我们便可以直接得到下载所需的guid、vkey、uin、fromtag参数。

​ 通过检查其headers,可以获得其发送的get请求网址:

​ 为了方便观察,我们对其进行解码:

​ 由于uin涉及测试的用户信息,在这对其进行打码处理,最后解码出来的url经过可以表示为’https://u.y.qq.com/cgi-bin/musicu.fcg?data={“req_0”:{“module”:“vkey.GetVkeyServer”,“method”:“CgiGetVkey”,“param”:{“guid”:“4095854469”,“songmid”:["%s"],“songtype”:[0],“uin”:“0”,“loginflag”:1,“platform”:“20”}},“comm”:{“uin”:0,“format”:“json”,“ct”:24,“cv”:0}}’

​ 经过检查guid的数值似乎是固定值,因此这些数值均可以直接使用,仅需改变songmid的数值即可。而songmid的数值可以通过1中的json数据直接获取。因此,将’http://dl.stream.qqmusic.qq.com/'或者’http://ws.stream.qqmusic.qq.com/'直接与purl进行拼接即可。

2.2 VIP音乐处理

​ 在网页进行点击播放VIP音乐时会显示无法进行播放,针对这种情况,我们需要使用chrome浏览器模拟客户端登录。

​ 点击小手机图案便可以模拟手机登录,观察网页源码,惊喜的发现下载url就这样明晃晃的显示在眼前,像是大喜之夜的新娘,然而,当我使用request去get网页源码,发现非会员的url是可以直接显示的,然而会员的url我怎样也无法get到,由于笔者的js水平不行,不太懂这里面的玄机,待以后有机会学成归来,一探其中玄奥。虽然requests不行,但我们还是可以使用selenium来暴力获取,通过正则处理可以直接提取我们所需要的歌曲下载url。

​ 经我测试,获取完整的vip歌曲需要会员的cookie,否则尽可以获取片段。

 
标签: 可以 我们
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号