QQ音乐 Web API

基于逆向分析的 PHP 接口服务

接口信息
基础地址 https://api.buaile.cn
请求方式 GET
返回格式 JSON (UTF-8)
搜索歌曲
GET 搜索接口
/search.php?w=稻香&p=1&n=10

请求参数

参数 类型 必填 默认值 说明
w string 必填 - 搜索关键词(歌曲名/歌手/专辑)
p int 可选 1 页码,从1开始
n int 可选 10 每页数量,最大50

返回示例

{
  "code": 0,
  "data": [
    {
      "id": 107192708,
      "mid": "0039MnYb0cxYhV",
      "name": "稻香",
      "singer: [{ "name": "周杰伦", "mid": "0025NhlN2yWrP4" }],
      "album": { "id": 36062, "mid": "002Neh8l0uciQZ", "name": "魔杰座" },
      "interval": 223
    }
  ],
  "total": 1272,
  "page": 1,
  "num": 10
}

返回字段说明

字段 类型 说明
code int 0=成功, 400=参数错误, 500=服务异常
data array 歌曲列表
data[].id int 歌曲ID
data[].mid string 歌曲MID(用于获取播放链接/歌词)
data[].name string 歌曲名称
data[].singer array 歌手列表 [{name, mid}]
data[].album object 专辑信息 {id, mid, name}
data[].interval int 歌曲时长(秒)
total int 搜索结果总数
page int 当前页码
num int 每页数量

错误返回

{
  "code": 400,
  "msg": "缺少参数 w (关键词)"
}
调用示例

JavaScript / Fetch

fetch('/search.php?w=稻香&p=1&n=10')
  .then(res => res.json())
  .then(data => console.log(data));

jQuery

$.getJSON('/search.php', { w: '稻香', p: 1, n: 10 }, function(data) {
  console.log(data);
});

PHP

$result = file_get_contents('http://域名/search.php?w=' . urlencode('稻香') . '&p=1&n=10');
$data = json_decode($result, true);

cURL

curl "http://域名/search.php?w=稻香&p=1&n=10"

Python

import requests
data = requests.get('http://域名/search.php', params={'w': '稻香', 'p': 1, 'n': 10}).json()