Skip to main content

更新信息

0.1.10 (2023-12-19)

Misc

  • workflow_update

NeteaseCloudMusic_PythonSDK

基于 NeteaseCloudMusicApi 封装的 Python SDK。 网易云API Python版本。 现已同步原项目接口且测试通过的有200多个 已发布到PyPi,可直接使用pip安装 项目地址:GitHub

License

依赖于

原理

  • 通过 py_mini_racer 调用 NeteaseCloudMusicApi_V8js 方法。进一步进行了简单封装。

使用

  • 安装 pip install NeteaseCloudMusic
  • 导入API进行使用(具体查看example.py中的示例)
from NeteaseCloudMusic import NeteaseCloudMusicApi, api_help, api_list
import os

netease_cloud_music_api = NeteaseCloudMusicApi()  # 初始化API
netease_cloud_music_api.cookie = "你的cookie"  # 设置cookie, 如果没有cookie需要先登录 具体见example.py
response = netease_cloud_music_api.request("song_url_v1", {"id": 33894312, "level": "exhigh"})  # 调用API

# 获取帮助
print(api_help())
print(api_help('song_url_v1'))
# 获取API列表
print(api_list())

注意: request(self, name, query=None) 的第一个参数为API名称,第二个参数为API参数,具体API名称和参数请参考 NeteaseCloudMusicApi文档,name支持/song/url/v1song_url_v1两种写法。

api已加入自动缓存,在测试接口时,如果频繁调用获取结果在query里应该加上timestamp参数来区分,例如

response = netease_cloud_music_api.request("song_url_v1", {"id": 33894312, "level": "exhigh", "timestamp": time.time()})

开发

  • 克隆项目 git clone git@github.com:2061360308/NeteaseCloudMusic_PythonSDK.git
  • 安装依赖 pip install -r requirements.txt
  • 目录/文件说明
├── package  项目包根目录
├── test_gender  生成测试代码的脚本
├── test.py  手动测试/ 使用示例

更新

项目使用towncrier自动生成更新日志

在 newsfragments 目录下,创建一个新的文本文件。这个文件的名字应该是一个唯一的编号,后缀是 .rst。 例如,如果你正在处理编号为 123 的问题,你可以创建一个名为 123.feature.rst 的文件。

注意在 towncrier 中,新闻片段的类型通常由文件名的后缀决定。以下是一些常见的新闻片段类型:

  • .feature: 用于描述新的特性或者功能。
  • .bugfix: 用于描述一个 bug 修复。
  • .doc: 用于描述文档的更改。
  • .removal: 用于描述移除的特性或者功能。
  • .misc: 用于描述其他类型的更改。

在这个文件中,写下你的更改的描述。这个描述应该是简短的,通常只有一到两句话。 例如Added support for the XYZ feature.

发布新版本

自动: 运行 python publish.py

手动: 使用bumpversion自动更新版本号,提交并发布标签 你需要安装bumpversion然后执行

bumpversion patch  # for a patch level increase (e.g., 1.0.0 to 1.0.1)
bumpversion minor  # for a minor level increase (e.g., 1.0.0 to 1.1.0)
bumpversion major  # for a major level increase (e.g., 1.0.0 to 2.0.0)

接下来会自动更新版本号并提交到远程仓库,然后发布一个新的标签 workflow会依据标签自动发布相应资源并且发布到pypi

改进

下列API未支持

  • apicache.js
  • memory-cache.js
  • request_reference.js
  • avatar_upload.js
  • cloud.js
  • playlist_cover_update.js
  • voice_upload.js
  • register_anonimous.js
  • verify_getQr.js

以下api未测试(这些接口测试起来比较繁琐)

  • /user/replacephone
  • /audio/match
  • /rebind
  • /nickname/check
  • /activate/init/profile
  • /cellphone/existence/check
  • /register/cellphone
  • /captcha/verify
  • /captcha/sent
  • /login/refresh
  • /logout
  • /user/update
  • /pl/count
  • /playlist/update
  • /playlist/desc/update
  • /playlist/name/update
  • /playlist/tags/update
  • /event/forward
  • /event/del
  • /share/resource
  • /send/text
  • /send/playlist
  • /playlist/create
  • /playlist/tracks
  • /daily_signin
  • /fm_trash

欢迎提交PR

更正request库返回多个cookie时自动用分号拼接导致后续cookie不好解析的问题 添加了对cookie中Max-Age为0的处理 改进判断cookie是否过期的逻辑 添加了自动处理cookie的更新操作

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

NeteaseCloudMusic-0.1.10.tar.gz (294.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

NeteaseCloudMusic-0.1.10-py2.py3-none-any.whl (295.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file NeteaseCloudMusic-0.1.10.tar.gz.

File metadata

  • Download URL: NeteaseCloudMusic-0.1.10.tar.gz
  • Upload date:
  • Size: 294.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for NeteaseCloudMusic-0.1.10.tar.gz
Algorithm Hash digest
SHA256 b8f820f69aa157c29e2ea0c67ba0d7c3356dac855e0d659ed9e12269863ec23b
MD5 1d793c1f89f8be64fef15a03ff6ae8a5
BLAKE2b-256 434592f6b32687202ab379a3339a0b58b78a66ef8d900ce8871d85835fec73a1

See more details on using hashes here.

File details

Details for the file NeteaseCloudMusic-0.1.10-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for NeteaseCloudMusic-0.1.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 91a96f2e48a66130ff691028907a897ce8edf9848b3dcd4bfddcab4b09a2678d
MD5 345b2fdaf3eb6ca6644364e0f7f166d4
BLAKE2b-256 a33788118a849b6e979342a227b49301ab67feef2168ed92b820f0b4655cfb20

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page