Skip to main content

Download musics from the offical API of Netease Music.

Project description

Class163_NexT

PyPI version Python Version License

Class163_NexT 是一个 Python 库,用于操作网易云音乐,包括获取音乐信息、歌词、音乐文件、播放列表以及自动登录管理 Cookies。支持批量处理、多音质下载、内存中处理和本地保存音乐文件。


功能概览

  • 音乐获取

    • 获取单曲详细信息(标题、歌手、专辑、封面)。
    • 获取歌词(LRC 格式)。
    • 下载音乐文件(支持 MP3、AAC、FLAC 等音质)。
    • 下载专辑封面。
    • 写入音乐文件元数据(ID3 / FLAC)。
  • 播放列表管理

    • 获取播放列表信息(标题、创建者、描述、歌曲列表)。
    • 批量获取歌曲详情、歌词和文件。
    • 并发优化,提高批量处理效率。
  • 搜索功能

    • 根据关键词搜索单曲或播放列表。
    • 支持 ID 或 URL 自动识别。
    • 返回批量搜索结果。
  • 登录与 Cookies 管理

    • 自动检测并加载已保存的 Cookies。
    • Playwright 或 Selenium 自动登录获取网易云音乐 Cookies。
    • 加密存储 Cookies,确保安全。

安装

通过 PyPI 安装:

pip install class163-next

依赖库:

库名 功能
mutagen 音乐元数据处理
requests 网络请求
cryptography Cookies 加密
playwright 用于 Playwright 登录
selenium 用于 Selenium 登录
netease_encode_api 创建一个网易云专用登录会话

快速上手

1. 登录网易云音乐

from class163_next.utils.playwright_login import playwright_login
session = playwright_login()

或者:

from class163_next.utils.selenium_login import selenium_login
session = selenium_login()

或加载已保存 Cookies:

from class163_next.utils.cookies_manager import load_cookies
session = load_cookies()

2. 获取单曲信息

from class163_next.models import Music

music = Music(session, music_id=12345678, quality=1, detail=True, lyric=True, file=True)

# 下载文件与封面到内存
music.download_file(session)
music.download_cover(session)

# 保存到本地
music.save("song_name", file=True, cover=True, lyric=True)

Class163_NexT 可以将标题、歌手、专辑、封面等信息写入音乐文件:

# 在下载文件和封面后调用
music.metadata_write()

# 然后再保存
music.save("song_with_metadata", file=True, cover=True, lyric=True)
  • 对于 MP3 文件,会写入 ID3 标签:标题、歌手、专辑、封面。

  • 对于无损 FLAC 文件,会写入 FLAC 元数据和封面。

  • 支持歌词导出为 LRC 文件。

  • quality 参数:

    • 1:标准音质(128kbps MP3)
    • 2:更高音质(192kbps MP3)
    • 3:极高音质(320kbps MP3)
    • 4:无损音质(AAC / FLAC)

4. 获取播放列表信息

from class163_next.models import Playlist

playlist = Playlist(session, playlist_id=87654321, info=True, detail=True, file=True, lyric=True)
playlist.get_file(session, quality=2)
  • 并发+批量获取歌曲详情、歌词和文件,提高批量处理速度。

5. 搜索音乐或播放列表

from class163_next.models import Music163

search = Class163(session, "关键词")
musics = search.music_search_results       # 单曲搜索结果
playlists = search.playlist_search_results # 播放列表搜索结果
  • 自动识别 ID / URL / 搜索关键词,支持批量搜索和获取详细信息。

支持音质

序号 音质 编码格式 码率
1 standard mp3 128kbps
2 higher mp3 192kbps
3 exhigh mp3 320kbps
4 lossless aac / flac 最高48kHz/16bit

安全与注意事项

  • Cookies 会加密存储在 ~/.class163_next_cookies
  • 确保系统已安装对应浏览器(Chromium / Edge)用于自动登录。(对于该点,仍需大量测试验证)
  • 批量下载大文件时,请注意内存使用,可通过 clean=True 清理内存数据。

免责声明

Class163_NexT 仅提供技术工具用于学习、研究和个人备份用途。用户必须自行确保对本 Python 库及其产生的任何文件的使用符合当地法律法规以及网易云音乐的服务条款。 开发者不对任何违反版权或非法分发音乐文件的行为承担责任。 请勿将本 Python 库及其生成的任何文件用于商业用途或未经授权的公开分发。 请妥善保管我们替您存储在 ~/.class163_next_cookies 里面的所有文件。因不妥善保管导致用户信息泄露造成的后果应由用户自行承担


Written by $ChatGPT^{TM}$ & $CooooldWind$.

Project details


Download files

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

Source Distribution

class163_next-0.2.6.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

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

class163_next-0.2.6-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file class163_next-0.2.6.tar.gz.

File metadata

  • Download URL: class163_next-0.2.6.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for class163_next-0.2.6.tar.gz
Algorithm Hash digest
SHA256 17b08c2febc49acf2818b9c939a1d1bac9e4215904ba2cf76f5c5d1911184974
MD5 45808287d9d68067275deb0147565992
BLAKE2b-256 c1bda6726ebef0ec64c52e1e1e6c72452ec5ca47d820edb352db36e35fca9f51

See more details on using hashes here.

File details

Details for the file class163_next-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: class163_next-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for class163_next-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 69d81a0dc58db10af27cb43bc9cc5902898339d9210a27a419da6567cb5fec97
MD5 50cc8ecf3739160468444ec4c443cfff
BLAKE2b-256 4b8ccd4d0306165ddf89595386c2c9a8e8ce98365a288c7f85501232d854573b

See more details on using hashes here.

Supported by

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