Android 酷我音乐API抓取

以下内容仅供学习

最近想要做app获取音乐,但音乐一直本地获取,过于局限,于是想到网络获取音乐,但网上大多api接口失效,于是查找音乐网页版多个查询,不失所望,获取到酷我音乐一部分:

首先我们找到了获取音乐的网址 如 麦兜 9420

http://antiserver.kuwo.cn/anti.s?   response=url&rid=MUSIC_29616287%22&format=mp3&type=convert_url



打开上面这个网址我们看到(动态获取,打开上个网址获取)

http://win.web.nf01.sycdn.kuwo.cn/2879f0c6089652f75f1307de404cfadd/5a637e57/resource/n1/37/23/2065128640.mp3

MP3的路径,打开正是搜寻歌曲 ,进过一番试验,发现我们唯一要获取的就是歌去的音乐播放ID ,MUSIC_(id) 那么我们怎么获取呢,于是查看了到:

这里写图片描述

看到songUrl

http://search.kuwo.cn/r.s?SONGNAME=歌名&ft=music&rformat=json&encoding=utf8&rn=8&callback=song&vipver=MUSIC_8.0.3.1
如:
http://search.kuwo.cn/r.s?SONGNAME=9420&ft=music&rformat=json&encoding=utf8&rn=8&callback=song&vipver=MUSIC_8.0.3.1


给出一部分网页代码

Android 酷我音乐API抓取_第1张图片

仔细查看我们可以看到
这里写图片描述
是的 我们获取到了音乐的mp3的id,并且我们意外获取到相同名字的歌曲的id


现在我们已经有了歌名(SONGNAME)、作者(ARTIST)、播放id(MP3RID) 。 但做音乐item还缺少基本的图片,于是继续获取图片,但发现所有的图片都是歌手的图片,那也继续获取吧,至少有比没有强啊,

通过
http://www.kuwo.cn/artist/content?name=麦小兜
看到源码这一部分
这里写图片描述
通过获取网页代码 再通过标签的去获取图片网址

获取到图片

Android 酷我音乐API抓取_第2张图片
好了 基本实现



接下来可以实现音乐的搜索功能了

首先songUrl 并不是标准的JSON格式 所以我们需要一番处理:为所有的字符串单引号改为双引号
在去掉首部

这里写图片描述

去掉尾部

这里写图片描述

剩余代码用在线JSON格式查看视图可以看到

Android 酷我音乐API抓取_第3张图片

所有歌曲都在abslist的节点下 接下来JSON获取就可已了

通过点击使用MediaPlayer类的setDataSource(String url) 实现播放就ok了




效果图:

Android 酷我音乐API抓取_第4张图片
效果Android 酷我音乐API抓取_第5张图片
实现点击播放了
由于并不是所有的歌曲都有图片,所以没有的显示默认的

你可能感兴趣的:(Android)