教你如何爬取某音乐网站歌曲数据

实现原理:跨站请求、伪装请求头、调用官方API接口。

1.首页打开目标网站,目标网站地址:http://autumnfish.cn/webmusic/index.html#/discovery

该网站主页如下图:

目标网站主页

查看该网站的请求方式

2.接下来打开控制台(ctrl+shift+i),选择抓包-网络(netWork)-XHR,然后开始随便输入一个歌手名或者歌曲名称、看看控制台返回什么数据、如下图

发现控制台,有一个请求连接,接下来用鼠标点击连接,看看返回什么数据,如下

查看发现返回的是JSON数据,通过对比发现里面的数据正好是歌曲列表的数据,请求接口为:

https://autumnfish.cn/search?keywords=张杰&limit=15&offset=0&type=1&t=1611902148953

大家可以复制这个连接到浏览器访问,也可以尝试修改其中的参数,看下返回的数据

请求方式:GET

请求参数5个,具体意思如下:

keywords:这里是接收用户输入的歌曲名称

limit:歌曲返回的数量,如果写15,则一次返回15条歌曲

offset:这里参数不用管,按默就行,默认为0

type:这里参数不用管,按默就行,默认为1

t:这里的参数表示当前的时间戳

到目前已经拿到歌曲数据、接下来进行播放、随便选一首歌曲播放、这里我选“我们都一样”,发现控制台多了一个请求接口,并且返回了JSON数据,数据里面发现了MP3的URL(歌曲播放连接),如下图:

把这个URL复制到浏览器访问--果然成功播放“我们都一样”,播放连接如下:

http://m7.music.126.net/20210129152231/64a1ae9619cc3549a96ca78a869ac436/ymusic/f488/04e9/0a99/a1ac608b03ffc7202b53b69455f33038.mp3

所以可以发现该网站的播放音乐请求连接为:

https://autumnfish.cn/song/url?id=191252&t=1611903449822

播放音乐请求接口总共2个参数

请求方式为GET

id:歌曲ID(这个ID在上边搜查的歌曲的信息中找到即可)

t:当前时间戳


到目前为止,已经成功获得该网站的歌曲搜索请求接口和歌曲播放接口,如果你会编程,可以调用这些接口写一个自己的音乐播放器。

其中网站还用MV播放,仔细观看不难发现,有些歌曲有一个播放的图标有些则没有,有播放图标的表示该歌曲有MV视频

跟上边类似操作,点击MV播放,发现控制台多了一个请求接口,并且返回了JSON数据,数据里面发现了MV的URL(歌曲MV播放连接),如下图:

MV请求方式也是GET,请求连接为:

https://autumnfish.cn/mv/url?id=5779657&t=1611904308944

请求方式:GET

参数如下:

id:歌曲ID(这个ID在上边搜查的歌曲的JSON的mvid信息中找到即可,看下图)

t:当前时间戳

上图中mvid如果为0,则表示没有MV视频。好了到现在已经可以实现歌曲搜索、播放、MV播放啦、教程到此结束!!

下图是本人做音乐网站,里面的数据就是通过文中写的教程接口获取

本人制作的网站

哈哈,界面样式布局比较丑,如果你会编程,感兴趣,可以调用这些接口获取数据,然后渲染到自己的网站上哦!


原创教程,码字不易  ,各位看官,看了记得点个赞哦图片!!✌️


新人今天首次注册简书,初来乍到,望给为大佬多多关照!

如果你喜欢,记得关注,后续将发布更多精彩教程❤️

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容