Skip to main content

NeteaseCloudMusic APIs for Python 3.x 适用于 Python 3 的网易云音乐 API

Project description

Logo

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' 之一

使用示例

下载单曲

asciicast

使用 UNM 下载灰色歌曲

asciicast 其他功能详见

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...

感谢

Android逆向——网易云音乐排行榜api(上)

Binaryify/NeteaseCloudMusicApi

衍生项目

PyNCMd

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)

Uploaded Source

Built Distributions

pyncm-1.6.8.5-py3.11.egg (144.8 kB view details)

Uploaded Source

pyncm-1.6.8.5-py3-none-any.whl (56.2 kB view details)

Uploaded Python 3

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

Hashes for pyncm-1.6.8.5.tar.gz
Algorithm Hash digest
SHA256 f08b384cf6141f8a3e5d0de57c7cb2604f7e1275e25df9320e1056c428fd22c1
MD5 5ffe0e6b6fe04026c5333e0b8c3a994d
BLAKE2b-256 fbfc945f174d17c3227287e744a3b970404c7bd637db4ea4e7eb1ac6f9947280

See more details on using hashes here.

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

Hashes for pyncm-1.6.8.5-py3.11.egg
Algorithm Hash digest
SHA256 d9c90decf0575827190ee1001c3c65cfe8952922f99a2cbf672cf30a76222617
MD5 8441e878fa4ba1c1532c129a615becec
BLAKE2b-256 49b9fee55bf5c45703c5f104f848163e6d5b6344b7eace51878b8f85b2522601

See more details on using hashes here.

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

Hashes for pyncm-1.6.8.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c405437c511ed2821905d5925ba5b85e5a3fd3f18cbb25cd49d83cc58078fe8a
MD5 c3e7943f51b7458092d59a9f5669040e
BLAKE2b-256 f38b5fbffb217324a0d36400c886ba00fd600fe1b5de6c84efbeba6bd97313a5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page