MCQTSS_QQMusic 亲测:这个开源 QQ 音乐解析工具,如何快速搞定单曲、歌单和 MV?
【免费下载链接】MCQTSS_QQMusicQQ音乐解析项目地址: https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic
深夜想收藏一首歌,却发现网页版听得到、存不下;想备份整张歌单,只能一首首手动操作。MCQTSS_QQMusic 正是为这类场景而生的开源 QQ 音乐解析工具,它用 Python 封装了搜索、解析播放地址、批量歌单、MV 与榜单获取等功能,几分钟就能把你喜欢的音乐完整拿到本地。
一、它是什么:一个命令,打通 QQ 音乐的解析链路
MCQTSS_QQMusic 本质是一个轻量级 Python 库,核心代码集中在Main.py的QQ_Music类里。它不依赖浏览器模拟,直接调用 QQ 音乐官方数据接口,速度快、资源占用低。相比"网页抓包再手动拼接"的老办法,它相当于把重复劳动全部封装成现成的函数。
核心能力速览
- 🔍 搜索音乐:关键词搜索,返回曲名、歌手、歌曲 MID、专辑信息
- 解析播放地址:通过 MID 拿到真实播放 URL,可配合任意下载器使用
- 歌单批量获取:输入歌单 ID,一次性拉取歌单全部歌曲信息
- 🎬 MV 解析:同时返回 MV 信息和多个清晰度的下载地址
- 榜单与电台:流行指数榜、推荐歌单、个性电台一应俱全
- 附加信息:歌词、专辑详情、歌手专辑列表
二、3 分钟上手:环境、依赖和 Cookie
环境前提:Python 3.9+、requests(2.27.1 已验证)、pyexecjs(仅search_music_new/需要,用于运行 JS)。
获取源码并安装依赖:
git clone https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic cd MCQTSS_QQMusic pip install requests pyexecjs1. 获取 Cookie(关键一步)打开 QQ 音乐官网并登录 → 按 F12 打开开发者工具 → 切到 Network(网络)→ 刷新页面 → 在请求标头(Headers)里找到 Cookie 并复制。整个过程如图所示:
2. 填入 Cookie 并运行demo.py里把set_cookie('')引号中的内容替换为你复制的 Cookie,然后执行:
python demo.py程序会搜索"周杰伦",并顺带打印第一首歌的专辑信息、歌词和真实播放 URL——一次运行就能看到整条解析链路。
三、实战:三份 demo 对应三种典型需求
单曲:搜索 → 拿 MID → 解析播放地址
demo.py演示了完整流程:搜索结果里每条都带有songmid和songid,再调用get_music_url(songmid)就能得到可下载的播放地址。
歌单:一个 ID 拉全部
demo_1.py是"歌单批量获取"的示例。在网页版歌单地址y.qq.com/n/ryqq/playlist/xxxx中拿到数字 ID 替换进代码,运行后程序会先打印歌单标题、简介、标签和播放量,再逐个输出全部歌曲的曲名、歌手、MID——几百首歌也能完整拉下来,后续接一个循环即可批量下载。
MV:清晰度地址一次拿到
demo_mv.py展示 MV 解析:传入vid,一次返回 MV 名称、歌手,以及不同filetype对应的下载地址和文件大小(filetype 越高画质越高)。
四、它是怎么解析成功的?核心原理其实很直接
如果你看过抓包,会发现 QQ 音乐的接口数据大多集中在https://u.y.qq.com/cgi-bin/musicu.fcg这个"万能提交接口"上。项目做的工作,就是把搜索、vkey、歌单、MV 这些请求整理成统一 JSON 参数去提交,再解析返回结果。以播放地址为例,get_music_url()会同时组装 CDN 调度和 vkey 获取两个请求,返回的purl拼上 CDN 域名就是可直接访问的播放地址。关键 data 的获取方法,作者在docs/里画了示意图:
几个值得一提的细节:
- 签名算法:
Main.py里的get_sign()还原了以zzb开头的签名生成逻辑(MD5 加扰 + base64 变换),用于榜单等需要签名的接口。 - searchid 逆向:
search_music_new/里的getsearchid.js是从官方 JS 中提取的 searchid 生成算法。作者坦言这个参数"填不填都行",但逆向思路值得一看。 - 接口动态适配:QQ 音乐已和谐过旧的手机搜索接口,项目里的
search_music_2和search_music_new正是对新接口的适配,说明作者一直在跟进平台变化。
五、常见坑点与排查清单
- 返回 code 500001:多半是 Cookie 过期或数据格式有误,重新登录官网复制新 Cookie,并确认填入时没有多余空格。
- 绿钻歌曲解析失败:只有绿钻账号的 Cookie 才能解析绿钻歌曲,这是权限限制,不是 bug。
- 批量请求被限:频繁大批量请求可能触发平台风控,批量下载时建议适当放慢频率。
- 接口失效:平台会不定期调整接口,若某天某个函数报错,先在仓库 issue 里看看是否已有解决方案。
六、说点该说的边界
这类解析工具的定位是个人学习与自动化研究,请只用于自己有权获取的内容,不要用于商业分发。对于真正喜欢的歌手和作品,购买会员、支持正版永远是更好的方式。
写在最后
MCQTSS_QQMusic 的价值不在于"绕过限制",而在于把一整套解析思路清清楚楚地摊开给你看:签名怎么生成、data 怎么拼、新接口怎么适配。作者还配套了一个图形化播放器 MCQTSS Music(截图见下),想做"会动的成品"可以直接去了解它。
如果你也在研究音乐类 API 或想搭建自己的下载工具,这个仓库是个很不错的起点——顺手点个 Star,也算是给作者持续维护的一点动力。
【免费下载链接】MCQTSS_QQMusicQQ音乐解析项目地址: https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考