凌晨一点被加密歌单劝退后,我用QQ音乐解析工具3分钟搬空了整张歌单
2026/9/8 20:03:34 网站建设 项目流程

凌晨一点被加密歌单劝退后,我用QQ音乐解析工具3分钟搬空了整张歌单

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

凌晨一点,台灯把桌面照得只剩键盘反光。你整理完收藏夹里的老歌单,点开那首找了好久的歌,弹窗却冷冷甩来一句"此歌曲仅限会员下载"。那一刻的你,或许就是此刻拿着QQ音乐解析工具到处找答案的我——明明歌曲就在云端,伸手却够不着。

那一晚,我对着一个解不开的加密文件坐了快三小时。而接下来要讲的这个工具,让这场拉锯战只用了3分钟就画上了句号。

第一幕 · 入场:凌晨一点的深夜,我被一首老歌卡住了

假设你现在正靠在椅背上,面前是一张花了整整40分钟才整理好的"怀旧金曲"歌单。20首歌,每一首背后都藏着一个具体到年月日的故事——可当你想把其中某首真正"据为己有"时,会发现三条路全被封死了。

音质先被砍一刀,免费用户拿到的只有128kbps,相当于把CD里的细节压缩掉七成;会员下载看似敞亮,实际上文件加密、设备绑定、会员到期即失效,处处是暗门;想手动把整张歌单存下来?20首歌意味着你要重复20次一模一样的操作,每次搜索、等待、复制,手指在键盘上磨得发烫。

我就是在这样的深夜,把鼠标停在那个下载失败的弹窗上发呆。然后,我看到了朋友发来的一条消息,和一个仓库链接。

第二幕 · 发现 📥:从朋友链接里,翻出一个专门"讨"歌的小工具

如果你也碰过类似的窘境,接下来的介绍可能会让你会心一笑——这个叫MCQTSS_QQMusic的项目,是一个纯 Python 写的 QQ音乐解析工具。作者把"搜索音乐""获取播放地址""扒歌单""抓MV""取歌词""看榜单"这些日常操作,打包进一个叫QQ_Music的类,装在一个Main.py文件里,干干净净。

最让我惊喜的是:它不需要你买会员。只要你有一串从网页登录后复制下来的 Cookie,它就能替你去和音乐平台打招呼,把一首歌真正的下载地址"问"出来。搜索一首歌平均不到0.5秒,一张500首歌的大歌单也能一条条完整列出来——不只是歌名,专辑、歌手、发行日期、歌词,全都规规矩矩摆在面前。

到这里你可能会想:不就是个解析脚本吗?有什么稀奇。但如果你亲眼见过它背后那套"跟平台打交道"的流程,你会像我一样拍大腿——这简直像在一家打烊的唱片行里,和柜台后的老板对上了暗号。

不过,事情远没有这么简单……

第三幕 · 揭秘 🔍:把仓库钥匙、接头暗号和柜台窗口一次讲给你听

请你想象这样一家店:一家只在午夜营业的唱片行,老板从不说话,你递纸条,他递磁带。MCQTSS_QQMusic就是你手里那张写满需求的小纸条,而它背后有三个门道,恰好对应这家店的三条规矩。

第一道门道,是会员卡。项目里的set_cookie函数,会把你在网页端复制的 Cookie 转换成程序认识的字典格式。Cookie 就是你在唱片行门口刷的那张会员卡——它决定了老板肯不肯理你:普通卡只能借普通磁带,绿钻卡才能借绿钻区的高音质。这张卡还带有效期,过期了,老板就会甩给你一个代码500001,翻译过来就是"不好意思,卡失效了"。

第二道门道,是接头暗号。平台不会傻乎乎地放行每个请求,每次敲门都要附带一串动态签名,项目里的get_sign就还原了这套"QQMusic_Sign"算法。它把请求内容经过 MD5、异或、移位等一连串折腾,最终拼出一串以zzb开头的密语。你可以把它理解成那句必须说对的切口——说错了,老板连门都不会开。

第三道门道,是唯一的柜台窗口。不管你想搜歌、要地址还是查专辑,所有请求最终都会汇到同一个接口u.y.qq.com/cgi-bin/musicu.fcg。你像在深夜唱片行的木柜台上递小纸条,把需求写成一段 JSON 塞进data参数,窗口那边就会还给你对应的结果。作者的文档里甚至画了红框,告诉你浏览器开发者工具里哪一块就是那段"纸条内容"。

你看,有了会员卡、对上暗号、找对窗口,那首"仅限会员"的歌,播放地址就这么被"问"了出来。再往深处走一步,你会发现连歌词都是先被 base64 编码过的——像一张倒着写的歌词纸,项目替你在背面译好了正面文字。

看懂了这些门道,你离亲手搬空一张歌单,其实只差最后一步了。

第四幕 · 体验 💡:跟着我亲手跑通第一次解析

别怕,整段流程比想象中短得多,我们边喝咖啡边来。

先请这位"店员"上岗。找个干净目录,把这个仓库拉下来:

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

再装上它的两个依赖——requests负责发请求,pyexecjs负责跑一段网页端 JavaScript(只用新版搜索脚本时才需要它):

pip install requests pyexecjs

接着去柜台领一张会员卡。打开 QQ音乐网页版并登录,按 F12 打开开发者工具,切到 Network(网络)面板,刷新页面,随便点开一个请求,在 Request Headers(请求标头)里找到 Cookie,右键复制整串。你不需要理解每个字段是什么含义——那是后厨的事。

最后,写下这三行"接头"代码,把 Cookie 粘进去:

import Main QQM = Main.QQ_Music() QQM._cookies = QQM.set_cookie('在这里粘贴你复制的Cookie')

然后运行仓库里的demo.py,它会搜索"周杰伦",打印出歌曲列表,再顺手把第一首歌的播放地址、专辑信息和歌词一起吐出来。看到屏幕上蹦出https://dl.stream.qqmusic.qq.com/...这种地址时,你大概也会愣一下——原来一首歌的"出生地址"就藏在这里。

如果中途报错,先别慌。最常见的500001只意味着一件事:Cookie 过期了,或者这首歌要绿钻权限而你的卡不够格。回网页重新复制一次就行,全程不超过1分钟。

到这里,你亲手搬走了第一首歌。但你会发现,这仅仅是这间唱片行向你敞开的第一扇门。

第五幕 · 延伸 🚀:把歌单搬进硬盘之后,还能玩出什么花样

真正让我对这间"午夜唱片行"上瘾的,是它越用越开阔。demo_1.py能把整张歌单的歌曲信息一条条完整拉出来,从第一首到第五百首,一个不漏;demo_mv.py帮你把 MV 的下载地址和画质列表一并问出来,filetype 数值越高,画质越清晰;demo_toplist.py干脆把热门榜单的排名、歌手、上升百分比一次排好摆在你面前。

更进一步,QQ_Music这个类就像一盒基础乐高:get_lyrics返回歌词文本,get_album_info返回专辑详情,get_playlist_info返回歌单结构。你可以把它们拼成自己的本地音乐库,写个脚本把歌单、歌词、专辑信息整理成清单,再配一个本地播放器,造一间真正属于你的"私人仓库"——分类、检索、备份,全由你说了算。

说了这么多,我其实并不想把它捧成什么"神器"。它更像一把钥匙,让你看清一个在线音乐平台每天在幕后怎么转动:谁在生成签名、谁在分发地址、谁在加密歌词。这种"掀开引擎盖看一眼"的好奇心,才是这个项目最耐人寻味的地方。至于版权的事,文档里也一直强调个人学习与研究使用,真正的热爱,终究要回到为作品买单这件事上。

那盏凌晨一点的台灯,我已经关掉了。剩下的歌单,留给你慢慢搬。🎧

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

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

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

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

立即咨询