基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)

简介: 基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)

@[TOC]


前言

首先说明,==本教程仅供个人学习,研究使用,禁止用于任何的商业和非法用途。==(手动狗头)之所以要研究这个,是因为我想让我的播放器连上网络,而如果自己用数据库保存歌曲的相关信息不太现实,于是想到使用市面上的音乐软件,看看能不能找到api接口。最后声明,仅供学习使用,切莫用于商业用途。


1.获取歌曲搜索列表api接口

==打开酷狗官网,在搜索栏中输入凤凰传奇,并按F12进入开发者工具,并选择Network(Network会显示网页和服务器之间的数据交流)。==
在这里插入图片描述
==我们再次按F5进行刷新,让页面与服务器进行交流,会立马显示很多数据:==
在这里插入图片描述
==我们试着找一找这些信息,不要漫无目的的找,我们的目标是api接口的地址,把重点放在地址上面,如果点开只有一小部分,但是还有被折叠的内容,也许就是我们要找的,经过排查,下面两个地址返回的内容包含我们所需要的歌曲信息。==
在这里插入图片描述
==通过比对ui列表的歌曲信息,可知有30条数据,经过对比,确定最终地址。==
在这里插入图片描述
在这里插入图片描述
==确定后,点击Headers,可以看到URL:==
在这里插入图片描述
==浏览器输入看看,是不是我们要找的接口:==
在这里插入图片描述
==果然没错,返回的是密密麻麻的json,我们用工具(在线解析)解析一下:==
在这里插入图片描述
==我们再回到酷狗界面
对照着搜索列表不难总结出:==

AlbumName: "中国美"                         //专辑名称
FileName: "<em>玖月奇迹</em> - 中国范儿"  //文件名称
SingerName: "<em>玖月奇迹</em>"          //演唱者
SongName: "中国范儿"                        //歌曲名称
FileHash: "275B12560EF5C29AAB19537F14FB055E"   //文件名称 用于获取歌曲详细信息
HQDuration: 229                             //歌曲名称 秒单位
AI 代码解读
现在我们得到了搜索列表的api接口:
https://complexsearch.kugou.com/v2/search/song?callback=callback123&keyword=%E7%8E%96%E6%9C%88%E5%A5%87%E8%BF%B9&page=1&pagesize=30&bitrate=0&isfuzzy=0&tag=em&inputtype=0&platform=WebFilter&userid=-1&clientver=2000&iscorrection=1&privilege_filter=0&srcappid=2919&clienttime=1597134090150&mid=1597134090150&uuid=1597134090150&dfid=-&signature=F3F2D045B6F17C6D606353AD42E8C1FF

这里的word 就是我们搜索的内容,而%E7%8E%96%E6%9C%88%E5%A5%87%E8%BF%B9其实是玖月奇迹,我们使用的时候可直接使用中文玖月奇迹,但是本人能力有限,破不了最后signature,只好用了网上前辈留下的api,前辈所说的方法,在现在的酷狗的也不再实用,但是试了一下,接口还是可以用的,找到了两个。

http://mobilecdn.kugou.com/api/v3/search/song?format=json&keyword=歌曲名称&page=1&pagesize=30

http://songsearch.kugou.com/song_search_v2?callback=jQuery191034642999175022426_1489023388639&keyword=歌曲名称&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1489023388641


2.获取单个歌曲详细信息包括歌词

==找url的过程我们就跳过了,搜索列表中随便选择一首歌曲,有一个index打头的地址,打开后,就是歌曲的详情情况,包括(播放地址,歌词,照片等等)。==
在这里插入图片描述

https://wwwapi.kugou.com/yy/index.php?r=play/getdata
&callback=jQuery19101743242916291361_1597125296933
&hash=3C3D93A5615FB42486CAB22024945264
&album_id=1645030
&dfid=3duBtm1dPh7H0yHDiX2OD3mw
&mid=a168b7359d24b7bc03957638c51d1cf9
&platid=4
&_=1597125296934
经过试验,发现有几个值是没有用的,可以使用如下的形式:
https://wwwapi.kugou.com/yy/index.php?r=play/getdata
&hash=275B12560EF5C29AAB19537F14FB055E
这里的hash 就是上面的filehash

3.总结

1.搜索列表api接口:

http://mobilecdn.kugou.com/api/v3/search/song?format=json&keyword=歌曲名称&page=1&pagesize=30

http://songsearch.kugou.com/song_search_v2?callback=jQuery191034642999175022426_1489023388639&keyword=歌曲名称&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1489023388641


2歌曲详细信息api接口:

https://wwwapi.kugou.com/yy/index.php?r=play/getdata
&hash=275B12560EF5C29AAB19537F14FB055E

这里的275B12560EF5C29AAB19537F14FB055E就是搜索列表api中获取的值。

然后早些时候研究过json的解析,可能对大家有帮助:在java中json的解析和生成


目录
打赏
0
0
0
0
2
分享
相关文章
关于商品详情 API 接口 JSON 格式返回数据解析的示例
本文介绍商品详情API接口返回的JSON数据解析。最外层为`product`对象,包含商品基本信息(如id、name、price)、分类信息(category)、图片(images)、属性(attributes)、用户评价(reviews)、库存(stock)和卖家信息(seller)。每个字段详细描述了商品的不同方面,帮助开发者准确提取和展示数据。具体结构和字段含义需结合实际业务需求和API文档理解。
获取商品详情API的请求格式是什么
获取商品详情API的请求格式通常依赖于特定的电商平台或服务提供商,但一般遵循类似的结构。以下是一个概括性的说明,以及针对几个主流电商平台的示例:
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
商品详情(item getAPI接口)json数据格式参考
某东商品详情(item get API接口)的JSON数据格式参考如下
商品详情(item getAPI接口)json数据格式参考
淘宝商品详情(item get API接口)返回的JSON数据格式是一个复杂且灵活的结构,包含多个字段和对象。以下是一个简化的JSON数据格式参考:
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
商品详情数据JSON格式示例参考(api接口)
JSON数据格式的商品详情数据通常包含商品的多个层级信息,以下是一个综合多个来源信息的JSON数据格式的商品详情数据示例参考:
(API接口系列)商品详情数据封装接口json数据格式分析
在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!
ThinkPHP 通用的API格式封装
本文介绍了在ThinkPHP框架中如何统一封装API返回格式的方法,包括创建状态码枚举类、编写统一格式化函数以及在BaseController和Error控制器中重写`__call`方法来处理不存在的方法或控制器调用,以实现统一的错误处理和返回格式。
ThinkPHP 通用的API格式封装
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
349 2

热门文章

最新文章

推荐镜像

更多
  • qt
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等

    登录插画

    登录以查看您的控制台资源

    管理云资源
    状态一览
    快捷访问