NeteaseCloudMusic APIs for Python 3.x 适用于 Python 3 的网易云音乐 API
Project description
PyNCM
NeteaseCloudMusic APIs for Python 3.x 适用于 Python 3 的网易云音乐 API
安装
`pip install pyncm`
直接使用
API 可以通过命令行直接访问,请参照下列命令输出进行操作 python -m pyncm -h
命令行使用说明
配置
pyncm config
可以将输入的参数存储在 ~/.pyncm 中,一劳永逸 python -m pyncm config --phone [your phone number] --password [your password] --output Downloads --clear-temp --quality lossless --logging-level 30- 解释 --phone --password 登录令牌;将会以 cookie 的形式被保存 --output 输出文件夹 --clear-temp 自动清除下载临时文件 --quality 下载质量 --logging-level 日志过滤等级
其他功能详见 pyncm --help
Python 使用示例
>>> from pyncm import NeteaseCloudMusic
# 导入核心包
>>> NCM = NeteaseCloudMusic()
>>> NCM.GetSongInfo(29732235)
# 获取歌曲信息
{'data': [{'id': 29732235, 'url': 'http://m701.music.126.net/20200313090222/479f50d5748625d59d405c7a219f3f5b/jdyyaac/040f/565c/0508/3ed3de2e4ea60ff52b6a2bc8a500f397.m4a', 'br': 96000, 'size': 3979843, 'md5': '3ed3de2e4ea60ff52b6a2bc8a500f397', 'code': 200, 'expi': 1200, 'type': 'm4a', 'gain': 0.0, 'fee': 8, 'uf': None, 'payed': 0, 'flag': 256, 'canExtend': False, 'freeTrialInfo': None, 'level': 'standard', 'encodeType': 'aac'}], 'code': 200}
>>> NCM.GetSongDetail(29732235)
# 获取歌曲详情
{'songs': [{'name': 'Supernova', 'id': 29732235, 'pst': 0, 't': 0, 'ar': [{'id': 38725, 'name': 'Laszlo', 'tns': [], 'alias': []}], 'alia': [], 'pop': 80.0, 'st': 0, 'rt': None, 'fee': 8, 'v': 13, 'crbt': None, 'cf': '', 'al': {'id': 3069044, 'name': 'Supernova', 'picUrl': 'https://p2.music.126.net/lX7Tq41nF4VkYYeW_Tz1Wg==/109951163311252223.jpg', 'tns': [], 'pic_str': '109951163311252223', 'pic': 109951163311252223}, 'dt': 326844, 'h': {'br': 320000, 'fid': 0, 'size': 13075897, 'vd': -32900.0}, 'm': {'br': 192000, 'fid': 0, 'size': 7845555, 'vd': -30500.0}, 'l': {'br': 128000, 'fid': 0, 'size': 5230385, 'vd': -29600.0}, 'a': None, 'cd': '1', 'no': 1, 'rtUrl': None, 'ftype': 0, 'rtUrls': [], 'djId': 0, 'copyright': 2, 's_id': 0, 'mark': 393216, 'originCoverType': 0, 'mst': 9, 'cp': 729016, 'mv': 447041, 'rtype': 0, 'rurl': None, 'publishTime': 1415577600000}], 'privileges': [{'id': 29732235, 'fee': 8, 'payed': 0, 'st': 0, 'pl': 128000, 'dl': 0, 'sp': 7, 'cp': 1, 'subp': 1, 'cs': False, 'maxbr': 999000, 'fl': 128000, 'toast': False, 'flag': 256, 'preSell': False, 'playMaxbr': 999000, 'downloadMaxbr': 999000}], 'code': 200}
>>> NCM.GetSongComments(29732235)
# 获取歌曲评论
{'isMusician': False, 'userId': -1, 'topComments': [], 'moreHot': True, 'hotComments': [{'user': {'locationInfo': None, 'liveInfo': None, 'expertTags': None, 'vipRights': None, 'vipType': 0, 'remarkName': None, 'userType': 0, 'nickname': 'MoeCity', 'experts': None, 'authStatus': 0, 'userId': 3445645, 'avatarUrl': 'https://p2.music.126.net/02UUU0SdRdIjhkx1OzXhTA==/19067730649247823.jpg'}...
工程进度
ncm.ncm_core
功能 | 进度 | 函数名 |
---|---|---|
明文登录(通过手机号及明文密码) | ✔ | NeteaseCloudMusic.UpdateLoginInfo |
音频解析(无损解析需要以VIP特权登录) | ✔ | NeteaseCloudMusic.GetSongInfo |
歌曲信息爬取 | ✔ | |
歌词解析 | ✔ | NeteaseCloudMusic.GetSongLyrics |
歌单解析 | ✔ | NeteaseCloudMusic.GetPlaylistInfo |
歌曲评论爬取 | ✔ | NeteaseCloudMusic.GetSongComments |
专辑信息爬取 | ✔ | NeteaseCloudMusic.GetAlbumInfo |
专辑评论爬取 | ✔ | NeteaseCloudMusic.GetAlbumComments |
获取用户歌单 | ✔ | NeteaseCloudMusic.GetUserPlaylists |
MV信息爬取 | ✔ | NeteaseCloudMusic.GetMVInfo |
MV评论爬取 | ✔ | NeteaseCloudMusic.GetMVComments |
ncm.ncm_func
功能 | 进度 | 函数名 |
---|---|---|
下载歌曲并填入 META | ✔ | NCMFunctions.DownloadSongAudio |
批量下载专辑歌曲并填入 META | ✔ | NCMFunctions.DownloadAllSongsInAlbumAndMerge |
批量下载歌单歌曲并填入 META | ✔ | NCMFunctions.DownloadAllSongsInPlaylistAndMerge |
下载歌词并转换为多语言LRC | ✔ | NCMFunctions.DownloadAndFormatLyrics |
大部分包都已详尽地注释过,如有疑问请提 issue
依赖包
requests
pycryptodome
mutagen
colorama
安装依赖
pip install -r requirements.txt
衍生项目
[PyNCMd](https://github.com/greats3an/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-0.3.1.tar.gz
(23.9 kB
view details)
Built Distribution
pyncm-0.3.1-py3-none-any.whl
(29.7 kB
view details)
File details
Details for the file pyncm-0.3.1.tar.gz
.
File metadata
- Download URL: pyncm-0.3.1.tar.gz
- Upload date:
- Size: 23.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d164a4ca5eae13b31b8235da5f75c2db16597e24857326b29495f2609b3aba8 |
|
MD5 | 4339c1e9bb3361c739c31e9b3f646194 |
|
BLAKE2b-256 | 6e5c24c0b8522152a0cba20b7a398867162fbb4de060bffec052aea23c49e551 |
File details
Details for the file pyncm-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: pyncm-0.3.1-py3-none-any.whl
- Upload date:
- Size: 29.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 127734b400b6bac42fe3a218b70dbd1a388766267f19758969d2c74ba58057a7 |
|
MD5 | e7eaac77b240a7b59486523398eaf316 |
|
BLAKE2b-256 | b8bf35c0eb165d8577779fbeb42e199ebf59c899e888efaf16520c5a1333ad8e |