QQ音乐无损歌曲分析教程

QQ音乐无损歌曲分析教程

QQ音乐的歌曲要想下载很简单,最主要的就是通过获取到vkey和歌曲的mid进行地址拼接,进行下载。

获取方法一(直接计算)
首先来看一段无损音乐的地址

http://dl.stream.qqmusic.qq.com/F000003aAYrm3GE0Ac.flac?vkey=9EE4B929121DD578EE78612BC15DE2A6276D5792625C822D772B42B66C3922DB682E7F674BA92A8BD1D78D39D090F73BACCBE9F2BF9181E6&guid=1234567890&uin=1008611&fromtag=64
抽象一下:
无损下载的地址就是这样的

http://dl.stream.qqmusic.qq.com/A000” + StrMediaMid + “.ape” + “?vkey=” + vkey + “&guid=” + guid + “&uin=” + uin + “&fromtag=64

这段网址中,A000为音乐格式的标识符,ape为A000,flac文件为F000,320Kmp3文件为M800,普通mp3为M500。

StrMediaMid,为歌曲的MID,可以查看音乐也没的网页源码

在这里插入图片描述

在网页里面找到strMediaMid后面的参数
在这里插入图片描述

vkey为歌曲的核心认证参数,后面说如何获取

guid为随机数,获取vkey的时候会提交guid,应该和提交的时候一致。

uin是QQ号,获取vkey的时候会提交QQ号,应该和提交的时候一致。

计算vkey方法
url = “http://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg?g_tk=0&loginUin=” + uin + “&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8&notice=0&platform=yqq&needNewCode=0&cid=205361747&uin=” + uin + “&songmid=003a1tne1nSz1Y&filename=C400003a1tne1nSz1Y.m4a&guid=” + guid
本地址为vkey获取的地址,uin为QQ号,两个uin都该一致,gui为随机数。提交会返回一个json数据,vkey就在里面了。
{
“code”:0,
“cid”:205361747,
“userip”:“182.150.103.213”,
“data”:
{
“expiration”:80400,
“items”:
[
{
“subcode”:0,
“songmid”:“003a1tne1nSz1Y”,
“filename”:“C400003a1tne1nSz1Y.m4a”,
“vkey”:“0CF6896ABBC87B84173BB0DFBDA35223867021149CCF05C4B16E21C67DD7628C667EA9867885336D171FA0F9B4CF54A80879E92E78BF2A75”
}
]
}
}
那么要下载一个无损就很简单了。

组合好网址,就可以进行下载了。

获取方法二(替换法)
说实在的,QQ音乐的这个算法真的是简单得漏洞百出。首先我们选择一首音乐进行播放,使用谷歌内核的浏览器F12进行抓包。
在这里插入图片描述

选择过滤器只查看媒体文件,我们就可以看到一段播放地址了
http://dl.stream.qqmusic.qq.com/C400000DwvOd2VQYRl.m4a?vkey=D9EE5F84DF7C0E4E4C9DE27E8B7B04A99C5B61D555A176C59F1A92B1A5BF849671860FDE21765281EE25490C67D8A60886E7378732144C1E&guid=5891092592&uin=2242332008&fromtag=66

有没有很熟悉?这个地址和我们的无损地址就只差一点点了。
首先修改C400为上面我们需要的无损前缀,比如ape修改为A000,然后把m4a修改成ape,最后将末尾的fromtag=66修改成fromtag=64,即可

在这里插入图片描述

相关源码下载
解析好QQ音乐的搜索,即可做成一个比较不错的客户端了

易语言源码
在这里插入图片描述

链接: https://pan.baidu.com/s/1-NGB64TeTpm6eA6H1yyXUw 密码: rhv5

Android studio源码

在这里插入图片描述

链接: https://pan.baidu.com/s/1nQ7Ntw6A0ahtAeC7FMn7dw 密码: uhpe

本文地址:https://blog.csdn.net/huangweijian95/article/details/84863313
版权声明:文章为转载文章,版权归作者所有,欢迎分享本文,转载请保留出处!

转载地址:https://www.ghpym.com/qmusicjx.html

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要使用Python下载无损歌曲,可以通过以下几个步骤: 1. 导入必要的库:首先,需要导入Python的requests库和os库。requests库用于发送HTTP请求,而os库则用于处理文件和文件夹。 2. 获取下载链接:使用requests库发送一个GET请求到包含音乐文件的网页,然后解析网页内容,找到音乐文件的下载链接。 3. 下载音乐文件:使用requests库发送另一个GET请求来下载音乐文件。将第2步获得的下载链接作为请求的URL,然后将得到的响应写入文件。 以下是一段示例代码,实现了上述步骤: ```python import requests import os def download_song(url, save_dir): # 发送GET请求并获取下载链接 response = requests.get(url) download_link = extract_download_link(response.text) # 发送GET请求下载音乐文件并保存 response = requests.get(download_link) save_path = os.path.join(save_dir, get_filename(download_link)) with open(save_path, 'wb') as file: file.write(response.content) def extract_download_link(html): # 解析网页内容,获取下载链接 # ... # 返回音乐文件的下载链接 def get_filename(url): # 从URL中提取文件名 # ... # 示例用法 url = 'https://example.com/songs' save_dir = '/path/to/save/dir' download_song(url, save_dir) ``` 需要注意的是,此示例代码中的`extract_download_link`和`get_filename`函数需要根据实际情况进行实现,以适应具体的网站和下载链接。此外,还需要确保保存音乐文件的目录存在,并具备写入权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值