mirror of
https://github.com/Suxiaoqinx/Netease_url.git
synced 2025-09-14 03:26:46 +08:00
9.3 KiB
9.3 KiB
网易云音乐工具箱 - 使用文档
📖 项目简介
网易云音乐工具箱是一个功能强大的网易云音乐解析工具,支持歌曲搜索、单曲解析、歌单解析、专辑解析和音乐下载等功能。项目提供了友好的Web界面和完整的API接口,支持多种音质选择,包括无损、Hi-Res等高品质音频格式。
✨ 功能特性
🎵 核心功能
- 歌曲搜索:支持关键词搜索网易云音乐库中的歌曲
- 单曲解析:解析单首歌曲的详细信息和下载链接
- 歌单解析:批量解析歌单中的所有歌曲
- 专辑解析:批量解析专辑中的所有歌曲
- 音乐下载:支持多种音质的音乐文件下载
🎧 音质支持
standard
:标准音质 (128kbps)exhigh
:极高音质 (320kbps)lossless
:无损音质 (FLAC)hires
:Hi-Res音质 (24bit/96kHz)jyeffect
:高清环绕声sky
:沉浸环绕声jymaster
:超清母带
🌐 使用方式
- Web界面:直观的网页操作界面
- API接口:完整的RESTful API
- 批量处理:支持歌单和专辑的批量解析
🚀 快速开始
环境要求
- Python 3.7+
- 网易云音乐黑胶会员账号(用于获取高音质资源)
安装步骤
-
克隆项目
git clone https://github.com/Suxiaoqinx/Netease_url.git cd Netease_url
-
安装依赖
pip install -r requirements.txt
-
配置Cookie
在
cookie.txt
文件中填入黑胶会员账号的Cookie:💡 获取Cookie方法:
- 登录网易云音乐网页版
- 按F12打开开发者工具
- 在Network标签页找到任意请求
- 复制请求头中的Cookie值
-
启动服务
python main.py
-
访问界面
打开浏览器访问:
http://localhost:5000
🎯 使用指南
Web界面使用
1. 歌曲搜索
- 选择「歌曲搜索」功能
- 输入搜索关键词
- 点击「搜索」按钮
- 在搜索结果中点击「解析」或「下载」按钮
2. 单曲解析
- 选择「单曲解析」功能
- 输入歌曲ID或网易云音乐链接
- 选择音质等级
- 点击「解析」按钮查看歌曲信息
- 点击「下载」按钮下载音乐文件
3. 歌单解析
- 选择「歌单解析」功能
- 输入歌单ID或歌单链接
- 点击「解析歌单」按钮
- 查看歌单信息和歌曲列表
- 点击单首歌曲的「解析」或「下载」按钮
4. 专辑解析
- 选择「专辑解析」功能
- 输入专辑ID或专辑链接
- 点击「解析专辑」按钮
- 查看专辑信息和歌曲列表
- 点击单首歌曲的「解析」或「下载」按钮
5. 音乐下载
- 选择「音乐下载」功能
- 输入音乐ID或链接
- 选择下载音质
- 点击「下载」按钮
- 等待下载完成
链接格式支持
项目支持多种网易云音乐链接格式:
- 歌曲链接:
https://music.163.com/song?id=123456
- 歌单链接:
https://music.163.com/playlist?id=123456
- 专辑链接:
https://music.163.com/album?id=123456
- 直接ID:
123456
🔌 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
-
修改配置(可选)
编辑
docker-compose.yml
文件修改端口:ports: - "8080:5000" # 将服务映射到8080端口
-
启动服务
docker-compose up -d
-
查看日志
docker-compose logs -f
-
停止服务
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!
- Fork本项目
- 创建特性分支:
git checkout -b feature/new-feature
- 提交更改:
git commit -am 'Add new feature'
- 推送分支:
git push origin feature/new-feature
- 提交Pull Request
📞 联系方式
- GitHub Issues:提交问题
- 作者博客:https://www.toubiec.cn
⭐ 如果这个项目对你有帮助,请给个Star支持一下!