实现原理:跨站请求、伪装请求头、调用官方API接口。
1.首页打开目标网站,目标网站地址:http://autumnfish.cn/webmusic/index.html#/discovery
该网站主页如下图:
目标网站主页
查看该网站的请求方式
2.接下来打开控制台(ctrl+shift+i),选择抓包-网络(netWork)-XHR,然后开始随便输入一个歌手名或者歌曲名称、看看控制台返回什么数据、如下图
发现控制台,有一个请求连接,接下来用鼠标点击连接,看看返回什么数据,如下
查看发现返回的是JSON数据,通过对比发现里面的数据正好是歌曲列表的数据,请求接口为:
大家可以复制这个连接到浏览器访问,也可以尝试修改其中的参数,看下返回的数据
请求方式:GET
请求参数5个,具体意思如下:
keywords:这里是接收用户输入的歌曲名称
limit:歌曲返回的数量,如果写15,则一次返回15条歌曲
offset:这里参数不用管,按默就行,默认为0
type:这里参数不用管,按默就行,默认为1
t:这里的参数表示当前的时间戳
到目前已经拿到歌曲数据、接下来进行播放、随便选一首歌曲播放、这里我选“我们都一样”,发现控制台多了一个请求接口,并且返回了JSON数据,数据里面发现了MP3的URL(歌曲播放连接),如下图:
把这个URL复制到浏览器访问--果然成功播放“我们都一样”,播放连接如下:
所以可以发现该网站的播放音乐请求连接为:
https://autumnfish.cn/song/url?id=191252&t=1611903449822
播放音乐请求接口总共2个参数
请求方式为GET:
id:歌曲ID(这个ID在上边搜查的歌曲的信息中找到即可)
t:当前时间戳
到目前为止,已经成功获得该网站的歌曲搜索请求接口和歌曲播放接口,如果你会编程,可以调用这些接口写一个自己的音乐播放器。
其中网站还用MV播放,仔细观看不难发现,有些歌曲有一个播放的图标有些则没有,有播放图标的表示该歌曲有MV视频
跟上边类似操作,点击MV播放,发现控制台多了一个请求接口,并且返回了JSON数据,数据里面发现了MV的URL(歌曲MV播放连接),如下图:
MV请求方式也是GET,请求连接为:
请求方式:GET
参数如下:
id:歌曲ID(这个ID在上边搜查的歌曲的JSON的mvid信息中找到即可,看下图)
t:当前时间戳
上图中mvid如果为0,则表示没有MV视频。好了到现在已经可以实现歌曲搜索、播放、MV播放啦、教程到此结束!!
下图是本人做音乐网站,里面的数据就是通过文中写的教程接口获取
本人制作的网站
哈哈,界面样式布局比较丑,如果你会编程,感兴趣,可以调用这些接口获取数据,然后渲染到自己的网站上哦!
原创教程,码字不易 ,各位看官,看了记得点个赞哦图片!!✌️
新人今天首次注册简书,初来乍到,望给为大佬多多关照!
如果你喜欢,记得关注,后续将发布更多精彩教程❤️