Musicdl源码分析和部分核心逻辑复现

Musicdl 部分核心功能分析

Musicdl 项目地址

musicdl 是一个多音源音乐搜索与下载项目。它的核心目标是:输入关键词或歌单链接,从多个音乐平台搜索歌曲,解析真实音频下载地址,然后把歌曲、歌词和标签信息保存到本地。

——Codex

今天闲来无事,打算尝试一下 Musicdl 的强大。但主要目的是弄懂项目当中的下载功能。下载功能算是整个项目中最核心的功能,包括多种音源的下载支持,比如 kuwo, qq, qianqian, migu 。

由于之前尝试过 zhiyiyo Groove 项目——可以任意搜索音乐并免费收听下载的音乐播放器,里面关于 kuwo 的音乐音频文件的 下载逻辑 。所以这次也是从 kuwo 入手。

基本逻辑是

  1. 找到目标歌曲的 MUSICRID
  2. 选择可行的 format
  3. 组合明文 query,主要变化 rid 和 format
  4. 加密成 q 参数
  5. 放进 http://mobi.kuwo.cn/mobi.s?f=kuwo&q=
  6. 用 okhttp/3.10.0 请求
  7. 从返回文本里的 url= 取下载链接

加密部分见 kuwo_query_encryption.py

建议看看 Groove 下载逻辑的源码,找找感觉试试爬爬 kuwo 的官网,了解一下基本的逻辑,把 Musicdl 的项目文件夹丢给 codex ,人机交流一下,就懂了。

posted @ 2026-05-10 13:18  JayZorn  阅读(39)  评论(0)    收藏  举报