news 2026/8/21 18:53:40

PyNCM API速查手册:覆盖歌曲、歌单、用户、搜索、云盘的最全实用接口清单

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PyNCM API速查手册:覆盖歌曲、歌单、用户、搜索、云盘的最全实用接口清单

PyNCM API速查手册:覆盖歌曲、歌单、用户、搜索、云盘的最全实用接口清单

【免费下载链接】pyncm第三方网易云音乐 Python API + 转储工具项目地址: https://gitcode.com/gh_mirrors/py/pyncm

PyNCM 是一个开箱即用的第三方网易云音乐 Python API 库,它把网易云音乐网页端、PC 端和移动端的加密接口全部封装成了简单直观的函数,让你用几行 Python 代码就能完成歌曲信息获取、歌单管理、用户签到、搜索、云盘上传等操作。这份PyNCM API 速查手册将按模块为你梳理最常用的接口清单,无论你是想写爬虫、做播放器,还是给自己的小工具加个音乐功能,都能快速上手。

PyNCM 是什么?为什么值得用它?

市面上第三方音乐 API 不少,但 PyNCM 有三个突出优势:

  • 免逆向:接口的 weapi / eapi 加密逻辑已被完整封装,你无需研究任何逆向知识
  • 覆盖广:歌曲、歌单、专辑、歌手、MV、用户、搜索、云盘、电台应有尽有
  • 带 CLI:除了 API,还内置命令行下载工具,可直接转储单曲、歌单与整张专辑

它的代码结构非常清晰,按功能拆分为多个模块文件,例如歌曲接口在pyncm/apis/track.py,歌单接口在pyncm/apis/playlist.py,后续查阅源码也很方便。

一键安装与登录:3 分钟跑通第一个接口

安装只需一条命令:

pip install pyncm

💡 可选依赖:mutagen(给下载的音乐打封面)、tqdm(显示下载进度)、coloredlogs(彩色日志)

调用接口前通常需要先登录。PyNCM 提供多种登录方式(见pyncm/apis/login.py):

登录方式函数适用场景
手机号登录LoginViaCellphone最常用,支持密码或验证码
邮箱登录LoginViaEmail老用户常用
二维码登录LoginQrcodeUnikey+LoginQrcodeCheck免输密码,扫码即登
Cookie 登录LoginViaCookie传入 MUSIC_U 即可
匿名登录LoginViaAnonymousAccount不想要账号时快速体验

获取音频 URL 等接口需要登录态,如果暂时没有账号,匿名登录一行就能解决:

from pyncm.apis.login import LoginViaAnonymousAccount LoginViaAnonymousAccount()

歌曲接口:获取音频、详情、歌词、评论一气呵成

歌曲相关的接口集中在pyncm/apis/track.py,这是整个手册里使用频率最高的模块:

功能函数说明
获取歌曲详情GetTrackDetail支持批量,一次最多 1000 首
获取音频地址GetTrackAudio按比特率取 URL,登录后更稳定
获取音质音频 V1GetTrackAudioV1支持 standard / exhigh / lossless / hires
获取下载直链GetTrackDownloadURL调用下载 API,注意有额度限制
获取歌词GetTrackLyrics可同时取翻译与罗马音版本
获取评论GetTrackComments支持翻页与时间戳定位
收藏 / 取消收藏SetLikeTrack一键加入「我喜欢的音乐」
听歌识曲GetMatchTrackByFP传入音频指纹即可匹配

核心用法就三行:

from pyncm import apis apis.track.GetTrackAudio(29732235) # 获取音频 apis.track.GetTrackDetail(29732235) # 获取详情 apis.track.GetTrackLyrics(29732235) # 获取歌词

歌单接口:读取、创建、增删歌曲全掌握

歌单是网易云音乐的核心玩法,对应模块pyncm/apis/playlist.py

功能函数说明
获取歌单信息GetPlaylistInfo含歌单名、trackIds 等
获取歌单全部歌曲GetPlaylistAllTracks自动拼装完整曲目列表
获取歌单评论GetPlaylistComments支持翻页
向歌单添加/删除歌曲SetManipulatePlaylistTracksop参数传adddel
新建歌单SetCreatePlaylist支持创建私享歌单
删除歌单SetRemovePlaylist支持批量

提示:未登录状态只能获取不完整的歌单内容,登录后才能拿到完整 tracks。

搜索接口:一个函数搜遍全部资源类型

搜索接口集中在pyncm/apis/cloudsearch.py,核心就一个函数GetSearchResult,通过stype参数切换资源类型:

stype 常量含义
SONG = 1歌曲
ALBUM = 10专辑
ARTIST = 100歌手
PLAYLIST = 1000歌单
USER = 1002用户
MV = 1004MV
LYRICS = 1006歌词
DJ = 1009电台
VIDEO = 1014视频

示例:搜索「周杰伦」的歌曲与歌单:

from pyncm.apis.cloudsearch import GetSearchResult, SONG, PLAYLIST GetSearchResult("周杰伦", stype=SONG) # 搜歌曲 GetSearchResult("周杰伦", stype=PLAYLIST) # 搜歌单

用户接口:查资料、看歌单、每日签到

用户模块pyncm/apis/user.py既能查别人,也能管理自己:

功能函数说明
获取用户资料GetUserDetail传入 user_id
获取用户创建的歌单GetUserPlaylists默认一次取 1001 个
获取收藏的专辑GetUserAlbumSubs返回已收藏专辑列表
获取收藏的歌手GetUserArtistSubs返回已收藏歌手列表
每日签到SetSignin移动端 +4 EXP,网页端 +1 EXP
提交足迹SetWeblog模拟用户行为记录

其中SetSignin是很多「自动签到脚本」的核心,传入SIGNIN_TYPE_MOBILESIGNIN_TYPE_WEB即可完成对应端签到。

云盘接口:上传、发布、纠偏一条龙

云盘模块pyncm/apis/cloud.py实现了完整的「个人云盘」流程,这在同类库中相当少见:

功能函数说明
获取云盘内容GetCloudDriveInfo分页拉取云盘歌曲
获取云盘项目详情GetCloudDriveItemInfo按 ID 批量查询
申请上传令牌GetNosToken上传第一步
上传文件本体SetUploadObject支持断点续传
检查云盘资源GetCheckCloudUpload通过 MD5 查重
提交云盘信息SetUploadCloudInfo填写歌名、歌手、专辑
发布云盘资源SetPublishCloudResource上传完成后发布
歌曲纠偏SetRectifySongId修正匹配错误的歌曲 ID

完整的云盘上传流程可参考示例脚本demos/云盘上传.py

拓展接口:专辑、歌手、MV 与迷你节目

除了上面五大核心模块,还有不少实用接口值得收藏:

  • 专辑pyncm/apis/album.py):GetAlbumInfo获取专辑详情、GetAlbumComments获取专辑评论
  • 歌手pyncm/apis/artist.py):GetArtistTracks获取歌手热门歌曲、GetArtistAlbums获取歌手专辑、GetArtistDetails获取歌手资料
  • MVpyncm/apis/video.py):GetMVDetail获取 MV 详情、GetMVResource按清晰度取 MV 资源
  • 电台与场景 FMpyncm/apis/miniprograms/目录):radio.py的每日电台推荐与红心/垃圾桶操作、difm.py的频道歌单、sportsfm.py的运动 FM、zonefm.py的场景 FM 都有对应封装

常见问题与避坑指南

Q1:为什么GetTrackAudio拿不到音频 URL?A:绝大多数情况是因为未登录。先调用任意登录函数(包括匿名登录)再取音频即可,原因详见项目 README 的 FAQ 说明。

Q2:批量接口一次能传多少歌曲 ID?A:GetTrackDetailGetTrackAudio等接口要求 song_ids 数量 ≤ 1000。

Q3:海外用户报错 460「Cheating」怎么办?A:在 Session 中手动添加 Header:X-Real-IP = 118.88.88.88即可解决。

Q4:如何保存并恢复登录态?A:PyNCM 提供了完善的 Session 序列化能力:用DumpSessionAsString()导出登录态字符串,之后用LoadSessionFromString()恢复,配合pyncm/__init__.py中的 Session 管理函数即可实现「一次登录、长期复用」。

结语

这份PyNCM API 速查手册覆盖了歌曲、歌单、用户、搜索、云盘五大核心场景,配合专辑、歌手、MV、电台等拓展接口,已经能满足绝大多数网易云音乐相关的开发需求。上手路径很简单:先pip install pyncm,再跑一个登录接口,然后按本手册的接口清单逐个尝试即可。如果需要更多参考,demos/目录下提供了二维码登录、云盘上传、歌单同步、足迹伪装等完整示例脚本,照着改就能快速出成果。快去试试吧!🚀

【免费下载链接】pyncm第三方网易云音乐 Python API + 转储工具项目地址: https://gitcode.com/gh_mirrors/py/pyncm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 18:46:07

Hyperf 微服务信创全栈部署(麒麟 + 达梦端到端)

第 4 章 Hyperf 微服务信创全栈部署(麒麟 达梦端到端) 4.1 为什么选 Hyperf(而不是 Laravel/ThinkPHP) 大白话: 信创项目的三个特点决定了框架选型: 要求高并发(政务大厅、金融交易系统&#x…

作者头像 李华
网站建设 2026/8/21 18:33:35

如何一步到位给B站装上BiliRoamingX:5步完成APK修补

如何一步到位给B站装上BiliRoamingX:5步完成APK修补 【免费下载链接】BiliRoamingX-integrations BiliRoamingX integrations and patches powered by ReVanced. 项目地址: https://gitcode.com/gh_mirrors/bi/BiliRoamingX-integrations 想给B站加功能&…

作者头像 李华
网站建设 2026/8/21 18:32:13

WindowsCleaner C盘清理指南:3步一键加速,释放深层隐藏空间

WindowsCleaner C盘清理指南:3步一键加速,释放深层隐藏空间 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 装完一个大软件、更新两轮系统…

作者头像 李华
网站建设 2026/8/21 18:31:15

用 Coding-Flashcards 探索 Wolfram Language:76张闪卡看懂符号计算

用 Coding-Flashcards 探索 Wolfram Language:76张闪卡看懂符号计算 【免费下载链接】Coding-Flashcards Over 1000 flashcards to learn Rust, SQLite, Lua, C, Godot, or Wolfram Language from first principles. Written in markdown with script to convert th…

作者头像 李华