NeteaseCloudMusic APIs for Python 3.x 适用于 Python 3 的网易云音乐 API
Project description
PyNCM
安装
pip install pyncm
可选 (若不考虑使用CLI则请忽略)
mutagen
: 为下载的音乐打上封面等tqdm
: 显示实时下载进度coloredlogs
: 彩色日志输出
Windows 用户: 在 Releases 可下载已打包 .exe
版本
命令行使用
positional arguments:
链接 网易云音乐分享链接
optional arguments:
-h, --help show this help message and exit
下载:
--max-workers 最多同时下载任务数, -m 最多同时下载任务数
--output-name 保存文件名模板, --template 保存文件名模板, -t 保存文件名模板
保存文件名模板
参数:
id - 网易云音乐资源 ID
year - 出版年份
no - 专辑中编号
album - 专辑标题
track - 单曲标题
title - 完整标题
artists- 艺术家名
例:
{track} - {artists} 等效于 {title}
-o 输出, --output 输出 输出文件夹
注:该参数也可使用模板,格式同 保存文件名模板
--quality 音质 音频音质(高音质需要 CVIP)
参数:
hi-res - Hi-Res
lossless- “无损”
exhigh - 较高
standard- 标准
--no-overwrite 不重复下载已经存在的音频文件
歌词:
--lyric-no 跳过歌词 [跳过歌词 ...]
跳过某些歌词类型的合并
参数:
lrc - 源语言歌词
tlyric - 翻译后歌词
romalrc- 罗马音歌词
例:
--lyric-no tlyric --lyric-no romalrc 将只下载源语言歌词
登陆:
--phone 手机 网易账户手机号
--pwd 密码, --password 密码
网易账户密码
--save [保存到] 写本次登录信息于文件
--load [保存的登陆信息文件] 从文件读取登录信息供本次登陆使用
--http 优先使用 HTTP,不保证不被升级
--log-level LOG_LEVEL
日志等级
环境变量
变量名 | 说明 |
---|---|
PYNCM_DEBUG |
调试日志输出等级,'CRITICAL', 'DEBUG', 'ERROR','FATAL','INFO','WARNING' 之一 |
使用示例
下载单曲
使用 UNM 下载灰色歌曲
API 使用示例
>>> from pyncm import apis
# 获取歌曲信息
>>> apis.track.GetTrackAudio(29732235)
{'data': [{'id': 29732235, 'url': 'http://m701.music...
# 获取歌曲详情
>>> apis.track.GetTrackDetail(29732235)
{'songs': [{'name': 'Supernova', 'id': 2...
# 获取歌曲评论
>>> apis.track.GetTrackComments(29732235)
{'isMusician': False, 'userId': -1, 'topComments': [], 'moreHot': True, 'hotComments': [{'user': {'locationInfo': None, 'liveIn ...
- 多 Session 示例
LoginViaEmail(...)
# 利用全局 Session 完成该 API Call
session = CreateNewSession() # 建立新的 Session
with session: # 进入该 Session, 在 `with` 内的 API 将由该 Session 完成
LoginViaCellPhone(...)
result = GetTrackAudio(...)
# 离开 Session. 此后 API 将继续由全局 Session 管理
GetTrackComments(...)
详见 Session 说明
API 说明
大部分 API 函数已经详细注释,可读性较高。推荐参阅 API 源码 获得支持
FAQ
- 为什么
GetTrackAudio
几乎拿不到音频 URL?
你需要进行登陆。若身边没有合适的账号,也可选择匿名登陆:
>>> from pyncm.apis.login import LoginViaAnonymousAccount
>>> LoginViaAnonymousAccount()
{'tick': 1662870122.1159196,
'content': {'code': 200,
'userId': 8023914528,
'createTime': 1662868134354,
'profile': {'nickname': 'Ano...
感谢
Binaryify/NeteaseCloudMusicApi
衍生项目
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyncm-1.6.8.5.tar.gz
(48.1 kB
view details)
Built Distributions
pyncm-1.6.8.5-py3.11.egg
(144.8 kB
view details)
pyncm-1.6.8.5-py3-none-any.whl
(56.2 kB
view details)
File details
Details for the file pyncm-1.6.8.5.tar.gz
.
File metadata
- Download URL: pyncm-1.6.8.5.tar.gz
- Upload date:
- Size: 48.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f08b384cf6141f8a3e5d0de57c7cb2604f7e1275e25df9320e1056c428fd22c1 |
|
MD5 | 5ffe0e6b6fe04026c5333e0b8c3a994d |
|
BLAKE2b-256 | fbfc945f174d17c3227287e744a3b970404c7bd637db4ea4e7eb1ac6f9947280 |
File details
Details for the file pyncm-1.6.8.5-py3.11.egg
.
File metadata
- Download URL: pyncm-1.6.8.5-py3.11.egg
- Upload date:
- Size: 144.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9c90decf0575827190ee1001c3c65cfe8952922f99a2cbf672cf30a76222617 |
|
MD5 | 8441e878fa4ba1c1532c129a615becec |
|
BLAKE2b-256 | 49b9fee55bf5c45703c5f104f848163e6d5b6344b7eace51878b8f85b2522601 |
File details
Details for the file pyncm-1.6.8.5-py3-none-any.whl
.
File metadata
- Download URL: pyncm-1.6.8.5-py3-none-any.whl
- Upload date:
- Size: 56.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c405437c511ed2821905d5925ba5b85e5a3fd3f18cbb25cd49d83cc58078fe8a |
|
MD5 | c3e7943f51b7458092d59a9f5669040e |
|
BLAKE2b-256 | f38b5fbffb217324a0d36400c886ba00fd600fe1b5de6c84efbeba6bd97313a5 |