QQ音乐API koa2实现 - 全接口实现

栏目: Node.js · 发布时间: 4年前

内容简介:QQ音乐API koa2 版本, 通过Web网页版请求QQ音乐接口数据, 有问题请提

QQMusicAPI

QQ音乐API koa2 版本, 通过Web网页版请求QQ音乐接口数据, 有问题请提 issue , 或者你有其他想法欢迎 PR .

Github

知乎

掘金

环境要求

!> 因为本项目采用的是 koa2 , 所以请确保你的 node 版本是7.6.0+

node -v

安装

git@github.com:Rain120/qq-music-api.git
npm install

项目启动

// npm i -g nodemon
npm run start

// or don't install nodemon
node app.js

项目监听端口是 3200

使用文档

使用 apis 详见 文档

关于项目

灵感来自

Binaryify/NeteaseCloudMusicApi

Vue2.0开发企业级移动端音乐Web App

参考内容

Koa 2

Axios

阮一峰老师 - HTTP Referer 教程

项目不足

  1. 因为本人没写过 unit test , 所以本项目尚未添加 unit test , 等有时间再添加;
  2. 登录获取个人信息等接口都没做

关于本人

Rain120: 前端菜鸟, 入职前端1年, 公司的技术栈是React, 因为公司官网由我重构过, 我使用的Vue.js重构的。目前正在脱坑, 求大佬内推呀

API结构图

QQ音乐API koa2实现 - 全接口实现

API接口

koa接口说明(参数, 地址, 效果图)

获取QQ音乐产品的下载地址

接口说明: 调用此接口, 可获取QQ音乐标准产品下载链接

接口地址: /downloadQQMusic

调用例子: /downloadQQMusic

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取歌单分类

接口说明: 调用此接口, 可获取歌单分类, 包含 category 信息

接口地址: /getSongListCategories

调用例子: /getSongListCategories

<details>

<summary>SortID</summary>

sortId: 1, sortName: 默认
sortId: 2, sortName: 最新
sortId: 3, sortName: 最热
sortId: 4, sortName: 评分
sortId: 5, sortName: none

</details>

歌单分类(categoryId & categoryName)

<details>

<summary>1. 热门</summary>

1.1
  "categoryId": 10000000,
  "categoryName": 全部,

</details>

<details>

<summary>2. 语种</summary>

2.1
  "categoryId": 167,
  "categoryName": "英语",
2.2
  "categoryId": 168,
  "categoryName": "韩语",
2.3
  "categoryId": 166,
  "categoryName": "粤语",
2.4
  "categoryId": 169,
  "categoryName": "日语",
2.5
  "categoryId": 170,
  "categoryName": "小语种",
2.6
  "categoryId": 203,
  "categoryName": "闽南语",
2.7
  "categoryId": 204,
  "categoryName": "法语",
2.8
  "categoryId": 205,
  "categoryName": "拉丁语",

</details>

<details>

<summary>3. 流派</summary>

3.1
  "categoryId": 6,
  "categoryName": "流行",
3.2
  "categoryId": 15,
  "categoryName": "轻音乐",
3.3
  "categoryId": 11,
  "categoryName": "摇滚",
3.4
  "categoryId": 28,
  "categoryName": "民谣",
3.5
  "categoryId": 8,
  "categoryName": "R&B",
3.6
  "categoryId": 153,
  "categoryName": "嘻哈",
3.7
  "categoryId": 24,
  "categoryName": "电子",
3.8
  "categoryId": 27,
  "categoryName": "古典",
3.9
  "categoryId": 18,
  "categoryName": "乡村",
3.10
  "categoryId": 22,
  "categoryName": "蓝调",
3.11
  "categoryId": 21,
  "categoryName": "爵士",
3.12
  "categoryId": 164,
  "categoryName": "新世纪",
3.13
  "categoryId": 25,
  "categoryName": "拉丁",
3.14
  "categoryId": 218,
  "categoryName": "后摇",
3.15
  "categoryId": 219,
  "categoryName": "中国传统",
3.16
  "categoryId": 220,
  "categoryName": "世界音乐",

</details>

<details>

<summary>4. 主题</summary>

4.1
  "categoryId": 39,
  "categoryName": "ACG",
4.2
  "categoryId": 136,
  "categoryName": "经典",
4.3
  "categoryId": 146,
  "categoryName": "网络歌曲",
4.4
  "categoryId": 133,
  "categoryName": "影视",
4.5
  "categoryId": 141,
  "categoryName": "KTV热歌",
4.6
  "categoryId": 131,
  "categoryName": "儿歌",
4.7
  "categoryId": 145,
  "categoryName": "中国风",
4.8
  "categoryId": 194,
  "categoryName": "古风",
4.9
  "categoryId": 148,
  "categoryName": "情歌",
4.10
  "categoryId": 196,
  "categoryName": "城市",
4.11
  "categoryId": 197,
  "categoryName": "现场音乐",
4.12
  "categoryId": 199,
  "categoryName": "背景音乐",
4.13
  "categoryId": 200,
  "categoryName": "佛教音乐",
4.14
  "categoryId": 201,
  "categoryName": "UP主",
4.15
  "categoryId": 202,
  "categoryName": "乐器",
4.16
  "categoryId": 14,
  "categoryName": "DJ",

</details>

<details>

<summary>5. 心情</summary>

5.1
  "categoryId": 52,
  "categoryName": "伤感",
5.2
  "categoryId": 122,
  "categoryName": "安静",
5.3
  "categoryId": 117,
  "categoryName": "快乐",
5.4
  "categoryId": 116,
  "categoryName": "治愈",
5.5
  "categoryId": 125,
  "categoryName": "励志",
5.6
  "categoryId": 59,
  "categoryName": "甜蜜",
5.7
  "categoryId": 55,
  "categoryName": "寂寞",
5.8
  "categoryId": 126,
  "categoryName": "宣泄",
5.9
  "categoryId": 68,
  "categoryName": "思念",

</details>

<details>

<summary>6. 场景</summary>

6.1
  "categoryId": 78,
  "categoryName": "睡前",
6.2
  "categoryId": 102,
  "categoryName": "夜店",
6.3
  "categoryId": 101,
  "categoryName": "学习",
6.4
  "categoryId": 99,
  "categoryName": "运动",
6.5
  "categoryId": 99,
  "categoryName": "运动",
6.6
  "categoryId": 76,
  "categoryName": "约会",
6.7
  "categoryId": 94,
  "categoryName": "工作",
6.8
  "categoryId": 81,
  "categoryName": "旅行",
6.9
  "categoryId": 103,
  "categoryName": "派对",
6.10
  "categoryId": 222,
  "categoryName": "婚礼",
6.11
  "categoryId": 223,
  "categoryName": "咖啡馆",
6.12
  "categoryId": 224,
  "categoryName": "跳舞",
6.13
  "categoryId": 16,
  "categoryName": "校园",

</summary>

</details>

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取歌单列表

接口说明: 调用此接口, 可获取歌单列表

参数列表:

  • 必选参数

categoryId : 类别 id

  • 可选参数

page : 当前页数, 默认为1

limit : 取出歌单数量, 默认为 20

sortId : 最新, 最热,评分, 默认为5

接口地址: /getSongLists

调用例子: /getSongLists?categoryId=10000000

示例截图:

获取歌单列表

QQ音乐API koa2实现 - 全接口实现

获取歌单列表-带参数

QQ音乐API koa2实现 - 全接口实现

获取歌单详情

接口说明: 调用此接口, 可获取歌单详情

参数列表:

  • 必选参数

disstid : 歌单 id

接口地址: /getSongListDetail

调用例子: /getSongListDetail?disstid=7011264340

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取MV标签

接口说明: 调用此接口, 可获取MV标签

接口地址: /getMvByTag

调用例子: /getMvByTag

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取MV播放信息

接口说明: 调用此接口, 可获取MV播放信息

参数列表:

  • 必选参数

vid : video id

接口地址: /getMvPlay

调用例子: /getMvPlay?vid=u00222le4ox

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取歌手MV

接口说明: 调用此接口, 可获取歌手MV

参数列表:

  • 必选参数

singermid : 歌手 id

  • 可选参数

order : 当前MV类型, 默认为 time

listen
time

limit : 取出歌单数量, 默认为5

接口地址: /getSingerMV

调用例子: /getSingerMV?singermid=0025NhlN2yWrP4&order=all&limit=5

示例截图:

QQ音乐API koa2实现 - 全接口实现

QQ音乐API koa2实现 - 全接口实现

QQ音乐API koa2实现 - 全接口实现

获取相似歌手

接口说明: 调用此接口, 可获取相似歌手

参数列表:

  • 必选参数

singermid : 歌手 id

接口地址: /getSimilarSinger

调用例子: /getSimilarSinger?singermid=0025NhlN2yWrP4

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取歌手信息

接口说明: 调用此接口, 可获取歌手信息

参数列表:

  • 必选参数

singermid : 歌手 id

接口地址: /getSingerDesc

调用例子: /getSingerDesc?singermid=0025NhlN2yWrP4

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取歌手被关注数量信息

接口说明: 调用此接口, 可获取歌手被关注数量信息

参数列表:

  • 必选参数

singermid : 歌手 id

接口地址: /getSingerStarNum

调用例子: /getSingerStarNum?singermid=0025NhlN2yWrP4

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取电台列表

接口说明: 调用此接口, 可获取电台列表, 分类

接口地址: /getRadioLists

调用例子: /getRadioLists

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取专辑

接口说明: 调用此接口, 可获取专辑信息(专辑列表、详情)

参数列表:

  • 必选参数

albummid : 专辑 id

接口地址: /getAlbumInfo

调用例子: /getAlbumInfo?albummid=0016l2F430zMux

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取数字专辑

接口说明: 调用此接口, 可获取数字专辑, 轮播图 banner , 专辑列表等信息, 详见

接口地址: /getDigitalAlbumLists

调用例子: /getDigitalAlbumLists

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取歌曲歌词

接口说明: 调用此接口, 可获取歌曲歌词

参数列表:

  • 必选参数

songmid : 专辑 id

  • 可选参数

isFormat : 是否格式化歌词, 默认值为 false

接口地址: /getLyric

调用例子: /getLyric?songmid=003rJSwm3TechU

示例截图:

QQ音乐API koa2实现 - 全接口实现

QQ音乐API koa2实现 - 全接口实现

获取MV

接口说明: 调用此接口, 可获取MV以及其Tag信息

参数列表:

  • 必选参数

area_id : 区域 id , 默认值为全部(15)

<details>

<summary>Area</summary>

"area": [
  {
    "id": 15,
    "name": "全部"
  },
  {
    "id": 16,
    "name": "内地"
  },
  {
    "id": 17,
    "name": "港台"
  },
  {
    "id": 18,
    "name": "欧美"
  },
  {
    "id": 19,
    "name": "韩国"
  },
  {
    "id": 20,
    "name": "日本"
  }
]

</details>

version_id : 版本 id , 默认值为全部(7)

<details>

<summary>Version</summary>

"version": [
  {
    "id": 7,
    "name": "全部"
  },
  {
    "id": 8,
    "name": "MV"
  },
  {
    "id": 9,
    "name": "现场"
  },
  {
    "id": 10,
    "name": "翻唱"
  },
  {
    "id": 11,
    "name": "舞蹈"
  },
  {
    "id": 12,
    "name": "影视"
  },
  {
    "id": 13,
    "name": "综艺"
  },
  {
    "id": 14,
    "name": "儿歌"
  }
]

</details>

  • 可选参数

page : 当前页数, 默认为1

limit : 取出歌单数量, 默认为 20

接口地址: /getMv

调用例子: /getMv

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取新碟信息

接口说明: 调用此接口, 可获取新碟信息

参数列表:

  • 可选参数

page : 当前页数, 默认为1

limit : 取出歌单数量, 默认为 20

接口地址: /getNewDisks

调用例子: /getNewDisks

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取歌手专辑

接口说明: 调用此接口, 可获取歌手专辑

参数列表:

  • 必选参数

singermid : 歌手 id

  • 可选参数

page : 当前页数, 默认为1

limit : 取出歌单数量, 默认为 20

接口地址: /getSingerAlbum

调用例子: /getSingerAlbum?singermid=0025NhlN2yWrP4

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取歌曲VKey

接口说明: 调用此接口, 可获取歌曲VKey

参数列表:

  • 必选参数

songmid : 歌曲 id

接口地址: /getMusicVKey

调用例子: /getMusicVKey?songmid=0025NhlN2yWrP4

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取搜索热词

接口说明: 调用此接口, 可获取搜索热词

接口地址: /getHotkey

调用例子: /getHotkey

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取关键字搜索提示

接口说明: 调用此接口, 可获取获取关键字搜索提示

参数列表:

  • 必选参数

key : 搜索关键字

接口地址: /getSmartbox

调用例子: /getSmartbox?key=周杰伦

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取搜索结果

接口说明: 调用此接口, 可获取获取搜索结果

参数列表(部分参数待注释):

  • 必选参数

key : 搜索关键字

catZhida : 0表示歌曲, 2表示歌手, 3表示专辑, 默认值为1

  • 可选参数

page : 当前页数, 默认为1

limit : 取出歌单数量, 默认为 10

接口地址: /getSearchByKey

调用例子: /getSearchByKey?key=周杰伦

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取首页推荐

接口说明: 调用此接口, 可获取首页推荐

接口地址: /getRecommend

调用例子: /getRecommend

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取排行榜单列表

接口说明: 调用此接口, 可获取排行榜单列表

  • 可选参数

page : 当前页数, 默认为1

limit : 取出歌单数量, 默认为 10

接口地址: /getTopLists

调用例子: /getTopLists

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取排行榜单详情

接口说明: 调用此接口, 可获取排行榜单详情

  • 可选参数

topId : 榜单 id

page : 当前页数, 默认为1

limit : 取出歌单数量, 默认为 10

接口地址: /getRanks

调用例子: /getRanks

示例截图:

QQ音乐API koa2实现 - 全接口实现

获取评论信息(cmd代表的意思没太弄明白)

接口说明: 调用此接口, 可获取评论信息

  • 可选参数

id : 专辑或者歌单请求结果的 id

  • 可选参数

rootcommentid : 榜单 id

cid :

pagenum : 当前页数, 默认为0

pagesize : 取出评论数量, 默认为 25

cmd :

reqtype :

biztype :

接口地址: /getComments

调用例子: /getComments?id=8220&rootcommentid=album_8220_1003310416_1558068713

示例截图:

QQ音乐API koa2实现 - 全接口实现

QQ音乐API koa2实现 - 全接口实现

QQ音乐API koa2实现 - 全接口实现

获取票务信息

接口说明: 调用此接口, 可获取票务信息

接口地址: /getTicketInfo

调用例子: /getTicketInfo

示例截图:

QQ音乐API koa2实现 - 全接口实现


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java 8实战

Java 8实战

厄马(Raoul-Gabriel Urma)、弗斯科(Mario Fusco)、米克罗夫特(Alan Mycroft) / 陆明刚、劳佳 / 人民邮电出版社 / 2016-4-1 / CNY 79.00

本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和超越Java 8,清晰明了地向读者展现了一幅Java 与时俱进的现代化画卷。一起来看看 《Java 8实战》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具