PythoneerDev6
V2EX  ›  程序员

网易云音乐助手 ncmbot 一个 Python 的三方组件,用 Python 玩转网易云音乐

By PythoneerDev6 at 2017 年 6 月 23 日 · 9746 次点击

GitHub license

NCMBot

NeteaseCloudMusic Bot for Philharmonic™

文档说明

源代码

简介

  • ncmbot 是 NeteaseCloudMusicBot (网易云音乐助手) 的简称
  • ncmbot 是一个 Python 的第三方组件,用 Python 玩转网易云音乐
  • 实现了 网易云音乐 的 API 封装
  • 提供了轻量化的接口,高效的扩充音乐库
  • 同时,提供了私人 FM 等接口,你可以通过分析准确的找到自己喜欢的音乐

安装

  • pip install ncmbot
  • easy_install ncmbot

环境、架构

开发语言:Python2.x

开发环境:MacOS 系统、4G 内存

  • 主要使用了 Requests 开源库
  • 基于网易云音乐 API 的定义,完成 Python 组件的封装
  • 轻量化的接口设计

接口列表

  1. 登录
  2. 获取用户歌单
  3. 获取用户电台
  4. 获取用户关注列表
  5. 获取用户粉丝
  6. 获取用户动态
  7. 获取用户播放列表
  8. 获取好友的动态
  9. 获取精品歌单
  10. 获取歌单中的所有音乐
  11. 获取音乐的下载地址
  12. 搜索
  13. 获取歌词
  14. 获取音乐的评论
  15. 获取歌曲详情
  16. 获取私人 FM
  17. ...

使用

import ncmbot
bot = ncmbot.login(phone='xxx', password='yyy')
bot.content # bot.json()

联系我

  • 关注微信公众号: DeveloperPython
图片名称
第 1 条附言  ·  2017 年 6 月 23 日

标题太长了。

这是 在线文档

这是 源代码

第 2 条附言  ·  2017 年 6 月 24 日
老铁们的邮箱登录 暂时有问题。晚点修复。
49 条回复  •  2017-08-18 14:40:38 +08:00
PythoneerDev6
   1
PythoneerDev6  
OP
   2017 年 6 月 23 日
顶一下试试
wangsir001
   2
wangsir001  
   2017 年 6 月 23 日
这个怎么用啊
PythoneerDev6
   3
PythoneerDev6  
OP
   2017 年 6 月 23 日
@wangsir001 正文中有文档说明
PythoneerDev6
   4
PythoneerDev6  
OP
   2017 年 6 月 23 日
忘了开启标题党模式。
am241
   5
am241  
   2017 年 6 月 23 日 via Android
收藏了,可以用在我的树莓派小音箱里
PythoneerDev6
   6
PythoneerDev6  
OP
   2017 年 6 月 23 日
@am241 妥妥的 没毛病
xxghost
   7
xxghost  
   2017 年 6 月 23 日
你确定 login 接口可以用?网易最近在 login 接口中加了新的东西
jeffersonpig
   8
jeffersonpig  
   2017 年 6 月 23 日
2.x
Lycnir
   9
Lycnir  
   2017 年 6 月 23 日
支持 不过可能会转为 python3
PythoneerDev6
   10
PythoneerDev6  
OP
   2017 年 6 月 23 日
@Lycnir
@jeffersonpig 后面可以支持 3 目前是 0.1.0 版本
PythoneerDev6
   11
PythoneerDev6  
OP
   2017 年 6 月 23 日
@xxghost 必须能用啊。 截图就是返回结果
xxghost
   12
xxghost  
   2017 年 6 月 23 日
你的截图????

你确定你的截图不是假数据?

不要让我打你脸好吧。

id 为 111111 的用户 username 并不是叫 111111
PythoneerDev6
   13
PythoneerDev6  
OP
   2017 年 6 月 23 日
@xxghost 老铁,你觉得我把我的账号 ID 放截图合适吗。 拜托,动动你的脑子。
其次,等你运行代码了,再来这里喷,不迟啊。
PythoneerDev6
   14
PythoneerDev6  
OP
   2017 年 6 月 23 日
@xxghost 兄弟,你为什么不喷下 xxx yyy。 来打我脸啊
xxghost
   15
xxghost  
   2017 年 6 月 23 日 via iPhone
谁告诉你我没有运行代码,我是准备贴代码的
后来我账号截图懒得打马赛克

我就是因为运行了代码,我是 login 不了我才回复的
lxml
   16
lxml  
   2017 年 6 月 23 日 via iPhone
又可以命令行美滋滋听歌了这是?但 angry 的是居然不上 3 ?
PythoneerDev6
   17
PythoneerDev6  
OP
   2017 年 6 月 23 日
@lxml 一直在 2 上跑。 还没支持呢
PythoneerDev6
   18
PythoneerDev6  
OP
   2017 年 6 月 23 日
@xxghost 呵呵呵 废话真是多。 有这功夫 早上截图了
xxghost
   19
xxghost  
   2017 年 6 月 23 日 via iPhone
可是你的代码还是不能 loginヽ(゚Д゚)ノ
PythoneerDev6
   20
PythoneerDev6  
OP
   2017 年 6 月 23 日
@xxghost 我在我的所有机器都试了。都是可以的。 你不妨截图发出来我看下 错误是啥。
gdrk
   21
gdrk  
   2017 年 6 月 23 日 via Android   ❤️ 1
@xxghost 有问题直接说问题或者贴图嘛,绕那么大弯干嘛
owlsec
   22
owlsec  
   2017 年 6 月 23 日 via iPhone   ❤️ 1
@xxghost 有问题以友好的方式提出问题,然后贴报错。这才是正确解决方法啊。你这一上来就无脑喷,连个报错都不铁,你咋脾气这么大?
lxml
   23
lxml  
   2017 年 6 月 23 日
@PythoneerDev6 #17 对了问下你知道网易云旧版的接口么?我看很多第三方服务用这个可以访问被下架的歌曲?
mingyun
   24
mingyun  
   2017 年 6 月 24 日
期待支持 py3
imcczy
   25
imcczy  
   2017 年 6 月 24 日 via iPhone
这个没有版权方面的问题么
Natsumoku
   26
Natsumoku  
   2017 年 6 月 24 日 via Android
可以获取自己每周的听歌排行吗
PythoneerDev6
   27
PythoneerDev6  
OP
   2017 年 6 月 24 日 via iPhone
@Natsumoku 可以
aaronzjw
   28
aaronzjw  
   2017 年 6 月 24 日
看来群主看了不少 requests 库
PythoneerDev6
   29
PythoneerDev6  
OP
   2017 年 6 月 24 日 via iPhone
@aaronzjw 哈哈哈哈碰见熟人了?
aksoft
   30
aksoft  
   2017 年 6 月 24 日
不是会员能下载无损不?
Rocka
   31
Rocka  
   2017 年 6 月 24 日
不能用邮箱登录。

https://img.vim-cn.com/46/a3af353cef91bf0df20688c943194023404474.png

网易云音乐的邮箱登录和手机号登录用的请求地址其实是不一样的,但代码里面并没有作判断,文档中也没有作区分。希望还是再测试完善一下吧。
xxghost
   32
xxghost  
   2017 年 6 月 24 日 via iPhone
喏,我就说吧,你说你什么都测试成功了,结果我提出来了 login 里面缺了参数,你不信,喷了我一顿,我懒得跟你吵,不知道怎么那么自信,上面有人上图了吧
xxghost
   33
xxghost  
   2017 年 6 月 24 日 via iPhone
@aksoft 不是会员现在下不了无损,只有会员的账号里面,获取歌曲的 api 才会返回无格式的 url,不会网易的歌多半是假无损。不知道收藏
PythoneerDev6
   34
PythoneerDev6  
OP
   2017 年 6 月 24 日 via iPhone
@Rocka 谢谢提醒。我的粗心 因为我的账号是手机 真是忘了测邮箱。晚上修复
PythoneerDev6
   35
PythoneerDev6  
OP
   2017 年 6 月 24 日 via iPhone
@xxghost 谁知道你在说啥。废话半天。你直接说邮箱登录有问题 不就得了。问题都描述不清楚。 是我测试疏忽 没测邮箱。其次 我的文章中例子也是手机登录的。
xxghost
   36
xxghost  
   2017 年 6 月 24 日 via iPhone
@PythoneerDev6 我从第一句就说了你的 login 有问题,缺参数,而且是最近新加的,麻烦你确定一下

你倒好,无敌自信,开喷我,你到现在还是这样的态度,那我就真没有办法了
PythoneerDev6
   37
PythoneerDev6  
OP
   2017 年 6 月 24 日 via iPhone
@xxghost 那你去试试手机登录吧。
PythoneerDev6
   38
PythoneerDev6  
OP
   2017 年 6 月 24 日 via iPhone
@xxghost 其次,麻烦你再看看谁先喷的。睁大你的眼睛。来 打我脸啊。
xxghost
   39
xxghost  
   2017 年 6 月 24 日 via iPhone
@PythoneerDev6 我都试了,手机登录没有问题,走的那个接口因为要照顾手机客户端这边,客户端升级成本的一些问题,就没有加入新参,我早都研究过了。结果还被你喷,惹不起
qq316107934
   40
qq316107934  
   2017 年 6 月 24 日   ❤️ 1
感谢分享,不友善言论楼主可以选择性忽略,不必要浪费时间。
XueSeason
   41
XueSeason  
   2017 年 6 月 24 日 via iPad   ❤️ 1
@xxghost 是不是楼主欠你钱了,一上来就要打楼主脸,好歹去项目提 issue,描述下问题,而不是在论坛里引战。
yinflying
   42
yinflying  
   2017 年 6 月 24 日
咦?这个和 musicbox 有什么关系?
musicbox: python 版 netease-music CLI client...
PythoneerDev6
   43
PythoneerDev6  
OP
   2017 年 6 月 24 日 via iPhone
@yinflying 这是有交互的吧。我的直接是组件
ctsed
   44
ctsed  
   2017 年 6 月 24 日
期待兼容 python3
uuair
   45
uuair  
   2017 年 6 月 24 日
我看过好多好多的 shell 下网易云音乐,但我使用微博登录的。。。。。没绑定邮箱手机,就算绑定了耶没有密码啊。。。。所以怎么办?
PythoneerDev6
   46
PythoneerDev6  
OP
   2017 年 6 月 25 日 via iPhone
@uuair 这个可以研究下。
numoone
   47
numoone  
   2017 年 8 月 14 日
命令执行完只返回<Response [200]>,想问一下怎么才能得到返回来的具体信息?

```
ncmbot.user_play_list(uid='270863895')
Out[277]: <Response [200]>

ncmbot.top_playlist_highquality(cat='华语')
Out[278]: <Response [200]>

ncmbot.Response()
Out[279]: <Response [None]>
```
numoone
   48
numoone  
   2017 年 8 月 14 日
我真蠢。。。搞定了。应该要将命令的返回赋给一个变量才能得到详细信息。另外,请问如何获得用户的听歌排行?
PythoneerDev6
   49
PythoneerDev6  
OP
   2017 年 8 月 18 日
@numoone 目前接口貌似还不支持。 可以扩展
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 59ms · 3.9.8.5