支持爬取的信息实在太多了。
与音乐相关的,音频文件(包括无损),专辑封面,歌手信息,歌词,每首歌的每条评论的内容、获赞数、时间、发表用户信息等等。
与用户相关的,用户等级、昵称、生日、地址、头像、账号创建时间、vip类型、粉丝数量,听歌排行等等
设计人性化,使用简单。
安装pip install cloudmusic
用法
cloudmusic库设计了两个精妙的对象,一切信息都存储在Music对象或User对象中。因此在获取信息之前,我们先要获取Music或User对象。
# 通过搜索关键字获取
musiclist = cloudmusic.search("白日")
# 通过歌单id一次性获取歌单里所有歌曲的Music对象
musiclist = cloudmusic.getPlaylist(2908405879)
# 通过专辑id获取
musiclist = cloudmusic.getAlbum(36529043)
# 直接通过歌曲id获取
music = cloudmusic.getMusic(1347630432)
在获取到一首歌的Music对象之后,就可以输出这首歌的各种信息了
获取一个歌单里每首歌的评论数量,可以这么写:
# 先获取歌单内每首歌的Music对象,返回值是一个Music对象组成的列表
musiclist = cloudmusic.getPlaylist(2829821753)
# 循环输出每个Music对象的评论数
for music in musiclist:
print(music.name)
print(music.getCommentsCount())
输出结果
# 先获取歌单内每首歌的Music对象
musiclist = cloudmusic.getPlaylist(2829821753)
# 循环对每个Music对象执行download方法
# 其中参数level有四个可选,分别是standard, higher, exhigh和lossless。分别代表标准、较高、极高和无损音质。
for music in playlist:
music.download(level = "lossless")
获取一首歌的热评和每条评论的相关信息:
# 先获取目标歌曲的Music对象
music = cloudmusic.getMusic(1347630432)
# 获取评论列表
coms = music.getHotComments()
# 循环输出你想要的信息
for com in coms:
print("发布者:{}".format(com['nickName']))
print("内容:{}".format(com['content']))
print("获赞数:{}".format(com['likeCount']))
print("------------")
输出效果:
玩法还有很多很多,可以访问http://cloudmusic.cool查看介绍和文档
附github仓库地址:https://github.com/p697/cloudmusic