免费开源的QQ音乐解析工具怎么用?从单曲到歌单批量一次讲清
2026/8/24 15:56:51 网站建设 项目流程

免费开源的QQ音乐解析工具怎么用?从单曲到歌单批量一次讲清

【免费下载链接】MCQTSS_QQMusicQQ音乐解析项目地址: https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic

MCQTSS_QQMusic 是一个用 Python 编写的免费、开源、轻量的 QQ音乐解析 工具。输入歌名,你能拿到播放地址;输入歌单 ID,你能拿到整张歌单的歌单批量下载素材;输入 vid,你能拿到 MV 的下载地址。核心只有一个 Main.py 文件,装环境、配 Cookie、跑第一次解析,10 分钟内完成。

这个工具适合谁

  • 想存歌但不想反复开会员,找不到可用的离线入口;
  • 面对几十上百首的歌单,不想一首首搜索、一首首下;
  • 做视频想收藏高清 MV,浏览器存下来的带水印,连源文件都拿不到。

命中任意一条,就值得你花十分钟。所有能力封装在QQ_Music一个类里,Windows、macOS、Linux 上行为一致。

能力速览表:一屏看完所有功能

功能入口函数一句话说明
搜索音乐search_music/search_music_2返回 songmid、songid、专辑、歌手
获取播放地址get_music_url用 MID 换回真实下载链接
专辑信息get_album_info专辑名、发行公司、语言
获取歌单get_playlist_info标题、作者、标签、播放量
批量取歌单歌曲get_playlist_info_num按偏移量分批拉完剩余歌曲
获取歌词get_lyrics原始歌词文本
MV 解析get_mv_url多清晰度下载地址
流行指数榜get_toplist_music排名、歌名、歌手、上升百分比

主线逻辑都在 Main.py,仓库里 demo.py、demo_1.py、demo_mv.py、demo_toplist.py 四个示例分别对应单曲、歌单、MV、榜单四个场景;新版搜索接口在 search_music_new/ 目录。

第一座里程碑:三步拿到你的第一条 QQ音乐解析结果

第一步:跑起来。

git clone https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic cd MCQTSS_QQMusic pip install requests

Python 3.9 起步,核心只依赖 requests;打算用新版搜索接口,再加一条pip install pyexecjs。进入 python 交互环境,执行import Main不报错,这一步就算过线了。别急着跑 demo,还差一块。

第二步:补上缺的那块——Cookie。

QQ音乐解析 的绝大多数功能都靠你浏览器里的 Cookie。它就像网站发给你的访客通行证:服务器认牌,看到牌才处理你的请求,看不到就拒之门外。三分钟拿到:

  1. 浏览器打开 QQ 音乐官网并登录;
  2. 按 F12 打开开发者工具,切到"网络"面板;
  3. 按 Ctrl+R 刷新,在 Fetch/XHR 里点开任意一个请求;
  4. 在 Request Headers 里找到 Cookie,整串复制。

把内容填进代码:

import Main QQM = Main.QQ_Music() QQM._cookies = QQM.set_cookie('你复制的Cookie')

Cookie 有过期时间,后面失效了回到这一步重新复制一份即可。

第三步:搜歌名,换播放地址。

result = QQM.search_music('周杰伦', 10) mid = result[0]['songmid'] url = QQM.get_music_url(mid) print(url)

终端打印出一条dl.stream.qqmusic.qq.com开头的真实链接,这就是你亲手拿到的第一个结果。songmid 就像歌曲的车牌号,拿着牌号去 CDN 分发服务器,它把配送地址交给你。同一份结果里顺手取 albummid 喂给get_album_info,专辑名、发行公司就有了;MID 丢给get_lyrics,歌词也一并出来。解析出的链接带音质档位,128k、320k 到无损,按需取用。

如果search_music某天不再返回结果,说明旧接口被平台调整了,改用search_music_2或 search_music_new/ 里的新脚本,补装 pyexecjs 即可。

到这里你已经走完 QQ音乐解析 的完整闭环:搜索、拿凭证、换下载地址。后面的场景,都只是换了输入。

第二座里程碑:从一首歌到一百首歌单

批量机制只讲一次:接口单次能返回的歌曲数有上限,源码里用偏移量循环,像翻书一样一批批取完剩余歌曲。50 首和 100 首,是同一个循环。

ret = QQM.get_playlist_info(7808278211) # 歌单链接里 playlist/ 后的数字 num = ret['detail']['songnum'] for j in range(int((num - 10) / 15 * 2)): songs = QQM.get_playlist_info_num(7808278211, j * 15 + 10)

第一次调用拿到歌单标题、作者、播放量和前 10 首;之后循环里每次偏移量加 15,直到清点完毕。每首歌的曲名、歌手、专辑都是结构化数据,直接喂给get_music_url就能进下载流程。demo_1.py 里是完整写法。

榜单走的是同一条路。get_toplist_music一次抓回流行指数榜,返回数据里有排名、歌名、歌手和上升百分比等趋势字段;每条还带着歌曲 ID 与专辑 MID,不用再搜一遍,选中想听的立刻解析。"看榜、选歌、解析"一条龙,一个函数搞定。

第三座里程碑:从声音到画面,入口参数换了一个

MV 解析和单曲套路相同,区别只是入口参数从 MID 换成 vid。

data = QQM.get_mv_url('r00127x0yzd') # data['mvUrl']['data'][vid]['mp4'] 里是多个清晰度档位

每个档位都有filetypefileSizefreeflow_url三个字段,filetype 数字越大画面越清晰,挑一条freeflow_url直接下载即可。返回结果里还带歌名和歌手,归档省事。想存现场高清版,这一行就够。

不止下载:解析结果还能接进播放器

不想只当下载器,作者写了配套播放器 MCQTSS Music:解析出的资源接入完整播放体验,专辑封面、歌词同步、进度、音量都有。搜索、解析、播放、歌词连成一条线。

卡住了:一张表查完所有报错

现象原因一句话解决
403 ForbiddenCookie 过期回网页端重新复制一份换上
500001 错误码参数抄错或 Cookie 失效换 Cookie,逐个核对 MID、歌曲 ID、歌单 ID
绿钻歌曲解析失败普通账号无权限换绿钻账号的 Cookie,平台权限限制
搜索接口失效旧手机端接口被调整改走 search_music_new 新版,装 pyexecjs
提示缺模块依赖没装pip install requests,新搜索再加 pyexecjs

原理速览:一个接口加一枚签名

内核是 QQ 音乐网页端的万能数据接口:在浏览器抓包,把网页发出的 JSON 请求参数捕获下来,把歌曲 MID 改成你要的目标,就是一次合法的数据请求。

签名环节是 Main.py 里的get_sign算法:请求参数先过 MD5,再做一轮字符变换,为每次请求生成动态签名。它像公文上的骑缝章,让请求看起来确实出自真实浏览器。推荐歌单、个性电台这类数据则直接抓 HTML,用正则抠出内嵌的 JSON。

边界与获取方式

工具免费,版权不免费。本项目仅限个人学习、研究与技术使用,解析内容禁止商用与二次传播,请尊重原创作者与版权方。

git clone https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic

装好 requests(新版搜索补装 pyexecjs),按 Readme 配好 Cookie,就能开始你的第一次 QQ音乐解析。愿你在规则之内,享受技术带来的便利。

【免费下载链接】MCQTSS_QQMusicQQ音乐解析项目地址: https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询