Netease_url/使用文档.md
2025-08-25 01:25:44 +08:00

9.3 KiB
Raw Permalink Blame History

网易云音乐工具箱 - 使用文档

📖 项目简介

网易云音乐工具箱是一个功能强大的网易云音乐解析工具支持歌曲搜索、单曲解析、歌单解析、专辑解析和音乐下载等功能。项目提供了友好的Web界面和完整的API接口支持多种音质选择包括无损、Hi-Res等高品质音频格式。

功能特性

🎵 核心功能

  • 歌曲搜索:支持关键词搜索网易云音乐库中的歌曲
  • 单曲解析:解析单首歌曲的详细信息和下载链接
  • 歌单解析:批量解析歌单中的所有歌曲
  • 专辑解析:批量解析专辑中的所有歌曲
  • 音乐下载:支持多种音质的音乐文件下载

🎧 音质支持

  • standard:标准音质 (128kbps)
  • exhigh:极高音质 (320kbps)
  • lossless:无损音质 (FLAC)
  • hiresHi-Res音质 (24bit/96kHz)
  • jyeffect:高清环绕声
  • sky:沉浸环绕声
  • jymaster:超清母带

🌐 使用方式

  • Web界面:直观的网页操作界面
  • API接口完整的RESTful API
  • 批量处理:支持歌单和专辑的批量解析

🚀 快速开始

环境要求

  • Python 3.7+
  • 网易云音乐黑胶会员账号(用于获取高音质资源)

安装步骤

  1. 克隆项目

    git clone https://github.com/Suxiaoqinx/Netease_url.git
    cd Netease_url
    
  2. 安装依赖

    pip install -r requirements.txt
    
  3. 配置Cookie

    cookie.txt 文件中填入黑胶会员账号的Cookie

    💡 获取Cookie方法

    1. 登录网易云音乐网页版
    2. 按F12打开开发者工具
    3. 在Network标签页找到任意请求
    4. 复制请求头中的Cookie值
  4. 启动服务

    python main.py
    
  5. 访问界面

    打开浏览器访问:http://localhost:5000

🎯 使用指南

Web界面使用

1. 歌曲搜索

  1. 选择「歌曲搜索」功能
  2. 输入搜索关键词
  3. 点击「搜索」按钮
  4. 在搜索结果中点击「解析」或「下载」按钮

2. 单曲解析

  1. 选择「单曲解析」功能
  2. 输入歌曲ID或网易云音乐链接
  3. 选择音质等级
  4. 点击「解析」按钮查看歌曲信息
  5. 点击「下载」按钮下载音乐文件

3. 歌单解析

  1. 选择「歌单解析」功能
  2. 输入歌单ID或歌单链接
  3. 点击「解析歌单」按钮
  4. 查看歌单信息和歌曲列表
  5. 点击单首歌曲的「解析」或「下载」按钮

4. 专辑解析

  1. 选择「专辑解析」功能
  2. 输入专辑ID或专辑链接
  3. 点击「解析专辑」按钮
  4. 查看专辑信息和歌曲列表
  5. 点击单首歌曲的「解析」或「下载」按钮

5. 音乐下载

  1. 选择「音乐下载」功能
  2. 输入音乐ID或链接
  3. 选择下载音质
  4. 点击「下载」按钮
  5. 等待下载完成

链接格式支持

项目支持多种网易云音乐链接格式:

  • 歌曲链接https://music.163.com/song?id=123456
  • 歌单链接https://music.163.com/playlist?id=123456
  • 专辑链接https://music.163.com/album?id=123456
  • 直接ID123456

🔌 API接口文档

基础信息

  • 服务地址http://localhost:5000
  • 请求方式POST部分接口支持GET
  • 响应格式JSON

接口列表

1. 健康检查

GET /health

响应示例

{
  "status": 200,
  "success": true,
  "message": "服务运行正常",
  "data": {
    "service": "网易云音乐API",
    "version": "1.0.0",
    "uptime": "2小时3分钟"
  }
}

2. 歌曲搜索

POST /search

请求参数

{
  "keyword": "搜索关键词",
  "limit": 30
}

响应示例

{
  "status": 200,
  "success": true,
  "message": "搜索完成",
  "data": [
    {
      "id": "123456",
      "name": "歌曲名称",
      "artists": "艺术家",
      "album": "专辑名称",
      "picUrl": "封面图片URL"
    }
  ]
}

3. 单曲解析

POST /song

请求参数

{
  "url": "歌曲ID或链接",
  "level": "lossless",
  "type": "json"
}

响应示例

{
  "status": 200,
  "success": true,
  "message": "解析成功",
  "data": {
    "name": "歌曲名称",
    "ar_name": "艺术家",
    "al_name": "专辑名称",
    "level": "lossless",
    "size": "45.2MB",
    "url": "下载链接",
    "pic": "封面图片",
    "lyric": "歌词内容"
  }
}

4. 歌单解析

POST /playlist

请求参数

{
  "id": "歌单ID"
}

响应示例

{
  "status": 200,
  "success": true,
  "message": "歌单解析成功",
  "data": {
    "playlist": {
      "name": "歌单名称",
      "creator": "创建者",
      "description": "歌单描述",
      "coverImgUrl": "封面图片",
      "trackCount": 50,
      "tracks": [
        {
          "id": "123456",
          "name": "歌曲名称",
          "artists": "艺术家",
          "album": "专辑名称",
          "picUrl": "封面图片"
        }
      ]
    }
  }
}

5. 专辑解析

POST /album

请求参数

{
  "id": "专辑ID"
}

响应示例

{
  "status": 200,
  "success": true,
  "message": "专辑解析成功",
  "data": {
    "album": {
      "name": "专辑名称",
      "artist": "艺术家",
      "description": "专辑描述",
      "coverImgUrl": "封面图片",
      "songs": [
        {
          "id": "123456",
          "name": "歌曲名称",
          "artists": "艺术家",
          "album": "专辑名称",
          "picUrl": "封面图片"
        }
      ]
    }
  }
}

6. 音乐下载

POST /download

请求参数

{
  "id": "音乐ID",
  "quality": "lossless"
}

响应:返回音频文件流,支持直接下载

🐳 Docker部署

使用Docker Compose

  1. 修改配置(可选)

    编辑 docker-compose.yml 文件修改端口:

    ports:
      - "8080:5000"  # 将服务映射到8080端口
    
  2. 启动服务

    docker-compose up -d
    
  3. 查看日志

    docker-compose logs -f
    
  4. 停止服务

    docker-compose down
    

使用Dockerfile

# 构建镜像
docker build -t netease-music-api .

# 运行容器
docker run -d -p 5000:5000 -v $(pwd)/downloads:/app/downloads netease-music-api

⚙️ 配置说明

环境变量

可以通过 .env 文件或环境变量配置服务:

# 服务配置
HOST=0.0.0.0
PORT=5000
DEBUG=false

# 下载配置
DOWNLOADS_DIR=downloads
MAX_FILE_SIZE=524288000  # 500MB

# 日志配置
LOG_LEVEL=INFO

Cookie配置

cookie.txt 文件中配置网易云音乐Cookie

MUSIC_U=你的MUSIC_U值;os=pc;appver=8.9.70;

⚠️ 重要提示

  • 必须使用黑胶会员账号的Cookie
  • Cookie格式必须严格按照示例填写
  • 定期更新Cookie以保持有效性

🔧 故障排除

常见问题

1. Cookie无效

问题提示Cookie无效或过期

解决方案

  • 确认使用的是黑胶会员账号
  • 重新获取Cookie并更新 cookie.txt
  • 检查Cookie格式是否正确

2. 无法下载高音质

问题:只能下载标准音质

解决方案

  • 确认账号是黑胶会员
  • 检查Cookie是否有效
  • 确认歌曲本身支持高音质

3. 服务启动失败

问题:运行 python main.py 报错

解决方案

  • 检查Python版本需要3.7+
  • 安装所有依赖:pip install -r requirements.txt
  • 检查端口5000是否被占用

4. 下载文件损坏

问题:下载的音频文件无法播放

解决方案

  • 检查网络连接是否稳定
  • 重新下载文件
  • 尝试其他音质选项

日志查看

服务运行时会生成日志文件 music_api.log,可以查看详细的错误信息:

tail -f music_api.log

📝 开发说明

项目结构

Netease_url/
├── main.py              # 主程序入口
├── music_api.py         # 音乐API核心模块
├── music_downloader.py  # 音乐下载模块
├── cookie_manager.py    # Cookie管理模块
├── qr_login.py         # 二维码登录模块
├── templates/
│   └── index.html      # Web界面模板
├── downloads/          # 下载文件目录
├── requirements.txt    # Python依赖
├── Dockerfile         # Docker构建文件
├── docker-compose.yml # Docker Compose配置
└── README.md          # 项目说明

技术栈

  • 后端Flask + Python
  • 前端Bootstrap + jQuery
  • 音频处理mutagen
  • HTTP客户端aiohttp + requests
  • 容器化Docker

📄 许可证

本项目采用 MIT 许可证开源,但禁止用于任何商业或付费项目

🤝 贡献指南

欢迎提交Issue和Pull Request

  1. Fork本项目
  2. 创建特性分支:git checkout -b feature/new-feature
  3. 提交更改:git commit -am 'Add new feature'
  4. 推送分支:git push origin feature/new-feature
  5. 提交Pull Request

📞 联系方式


如果这个项目对你有帮助请给个Star支持一下