作为一名业余程序猿,当然不会只知道写代码,闲暇之余也会听听歌,看看电影。说起听歌,大家就会相当几大音乐平台,酷狗啊、QQ音乐啊、酷我等等,前段时间因为歌曲评论搞出营销的网易云音乐大家也是耳熟能详的。
相信各位程序员在曾经学习,或者是在开发项目中都或多或少有过音乐相关的开发经历。要想写出音乐功能,必须要音乐资源才行,总不可能老是听存在本地的音乐吧。为了提升用户体验,怎么也得让大家能搜索自己喜欢的音乐吧。好,那么问题来了,我们不可能建立自己的音乐服务器,一般是用各大音乐平台的,然而各大平台似乎没有公开提供音乐api接口。我们想要实现搜索自己喜欢的音乐试听,就只能通过抓取各大音乐平台的网页端、客户端的发包数据,分析之后才能找到一些简单的接口。下面是一些网易云音乐平台的音乐接口:
搜索歌曲API:
请求方式:post
请求地址:http://music.163.com/api/search/get/web?csrf_token=
请求数据:hlpretag=&hlposttag=&s=搜索歌曲名或歌手名&type=1&offset=0&total=true&limit=返回数据条数
请求头部:(仅供参考)数组形式
'Host: music.163.com',
返回数据:json数据格式,这里就不讲了。
获取歌曲歌词:
请求方式:get
请求地址:http://music.163.com/api/song/lyric?
请求数据:os=pc&id=歌曲id&lv=-1&kv=-1&tv=-1
返回数据:返回json类型lyric歌曲歌词数据。
获取歌曲直链地址:
请求方式:get
请求地址:http://music.163.com/api/song/detail/?
请求数据:id=歌曲id&ids=%5B歌曲id%5D
返回数据:返回json类型歌曲文件信息。
PHP测试结果如下,其它平台自行测试。
其它开发环境,只需要通过http发包给网易云音乐的服务器就能取得相应的数据。不知道为什么,各大平台始终不公布接口,或许是因为版权原因,或许是已经公布了,只是没找到而已。
内容来自百家号 查看原文