酷狗音乐API

学了一下Qt,想练一下写个网络播放器。

一直都是用web.kugou.com听在线酷的,也是打算从那查找歌曲地址,可惜找到了搜索列表:

http://lib9.service.kugou.com/websearch/index.php?page=1&keyword=%E6%B1%AA%E5%B3%B0&cmd=100&pagesize=9
keyword为搜索的关键字,返回的是歌曲列表信息,其中就有一个hash码。

接下来看他怎么来根据已经有的信息去数据库中拿歌曲。

http://trackercdn.kugou.com/i/?hash=DCDBA53B32F4B4D70507ACDBE335C8AE&key=634c4dff57392281f791b09079743de7&cmd=3&pid=6&acceptMp3=1

这个链接就是返回一个m4a文件的地址了(没有Mp3,可能被放弃了,而查询接口没改),有用到之前拿到hash吗。但是那个key我就不知道到底怎么来的,而且经分析每一个文件都对应一个key。


发现酷狗还有一个m.kugou.com可以搜歌和在线听歌,而且不是flash写的。

这个容易找到。

搜歌API:

http://mobilecdn.kugou.com/api/v3/search/song?format=jsonp&keyword=%E4%BB%99%E5%89%91&page=1&pagesize=10&showtype=1&callback=kgJSONP238513750<span style="white-space:pre">	</span>
</pre><pre name="code" class="html">

返回带歌曲列表json文件。

利用json中的hash查歌曲文件地址:

http://m.kugou.com/app/i/getSongInfo.php?hash=2b616f6ab9f8655210fd823b900085cc&cmd=playInfo
返回的就是m4a文件的地址了。

经过这两步,就可以利用酷狗搜歌,听歌,下歌。





### 使用酷狗音乐 API 获取歌曲歌词 为了通过酷狗音乐 API 获取歌曲的歌词,可以按照如下方法构建请求并解析返回的数据。 #### 构建 GET 请求 向指定 URL 发送带有必要参数的 HTTP GET 请求来获取歌词数据。URL 和所需参数如下: - **基础 URL**: `http://krcs.kugou.com/search`[^4] 参数列表: - `ver`: 版本号,默认设置为 "1" - `man`: 是否手动模式,默认设为 "yes" - `client`: 客户端类型,这里应设定为 "mobi" 表示移动设备访问 - `keyword`: 可选字段,用于模糊匹配关键词搜索 - `duration`: 歌曲时长,单位秒;可选项 - `hash`: 音轨哈希值,这是唯一标识每首歌的关键信息 - `album_audio_id`: 专辑音频 ID,通常与 hash 同时提供更精确的结果 实际应用中的例子可能是这样的 Python 代码片段: ```python import requests def get_lyrics(hash_value, album_audio_id=None): url = 'http://krcs.kugou.com/search' params = { 'ver': 1, 'man': 'yes', 'client': 'mobi', 'hash': hash_value, 'album_audio_id': album_audio_id or '' } response = requests.get(url=url, params=params) if response.status_code == 200: data = response.json() lyrics_info = data['candidates'][0]['lrclist'] if 'candidates' in data and len(data['candidates']) > 0 else None return '\n'.join([line['content'] for line in lyrics_info]) if isinstance(lyrics_info, list) else None raise Exception('Failed to fetch lyrics') ``` 此函数接受两个参数:一个是必需的音轨哈希 (`hash`) 值,另一个是可选的专辑音频ID(`album_audio_id`)。它会尝试从服务器获取 JSON 数据,并从中提取歌词部分作为字符串返回给调用者。如果遇到错误,则抛出异常提示失败原因。 请注意,在使用此类第三方 API 之前,请务必查阅最新的官方文档和服务条款,因为这些细节可能会随着时间而发生变化。此外,应当尊重版权规定,确保所使用的任何资源都符合法律要求以及平台政策[^2]。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值