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详见文档

关于本人

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

API结构图

API接口

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

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

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

接口地址: /downloadQQMusic

调用例子: /downloadQQMusic

示例截图:

获取歌单分类

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

接口地址: /getSongListCategories

调用例子: /getSongListCategories

SortID

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

歌单分类(categoryId & categoryName)

1. 热门

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

2. 语种

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": "拉丁语",

3. 流派

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": "世界音乐",

4. 主题

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",

5. 心情

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": "思念",

6. 场景

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": "校园",

示例截图:

获取歌单列表

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

参数列表:

  • 必选参数

categoryId: 类别id

  • 可选参数

page: 当前页数, 默认为1

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

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

接口地址: /getSongLists

调用例子: /getSongLists?categoryId=10000000

示例截图:

获取歌单列表

获取歌单列表-带参数

获取歌单详情

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

参数列表:

  • 必选参数

disstid: 歌单id

接口地址: /getSongListDetail

调用例子: /getSongListDetail?disstid=7011264340

示例截图:

获取MV标签

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

接口地址: /getMvByTag

调用例子: /getMvByTag

示例截图:

获取MV播放信息

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

参数列表:

  • 必选参数

vid: video id

接口地址: /getMvPlay

调用例子: /getMvPlay?vid=u00222le4ox

示例截图:

获取歌手MV

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

参数列表:

  • 必选参数

singermid: 歌手id

  • 可选参数

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

  • listen: 歌手专辑音乐MV

  • time: 粉丝上传MV视频

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

接口地址: /getSingerMV

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

示例截图:

获取相似歌手

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

参数列表:

  • 必选参数

singermid: 歌手id

接口地址: /getSimilarSinger

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

示例截图:

获取歌手信息

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

参数列表:

  • 必选参数

singermid: 歌手id

接口地址: /getSingerDesc

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

示例截图:

获取歌手被关注数量信息

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

参数列表:

  • 必选参数

singermid: 歌手id

接口地址: /getSingerStarNum

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

示例截图:

获取电台列表

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

接口地址: /getRadioLists

调用例子: /getRadioLists

示例截图:

获取专辑

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

参数列表:

  • 必选参数

albummid: 专辑id

接口地址: /getAlbumInfo

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

示例截图:

获取数字专辑

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

接口地址: /getDigitalAlbumLists

调用例子: /getDigitalAlbumLists

示例截图:

获取歌曲歌词

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

参数列表:

  • 必选参数

songmid: 专辑id

  • 可选参数

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

接口地址: /getLyric

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

示例截图:

获取MV

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

参数列表:

  • 必选参数

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

Area

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

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

Version

"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": "儿歌"}
]
  • 可选参数

page: 当前页数, 默认为1

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

接口地址: /getMv

调用例子: /getMv

示例截图:

获取新碟信息

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

参数列表:

  • 可选参数

page: 当前页数, 默认为1

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

接口地址: /getNewDisks

调用例子: /getNewDisks

示例截图:

获取歌手专辑

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

参数列表:

  • 必选参数

singermid: 歌手id

  • 可选参数

page: 当前页数, 默认为1

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

接口地址: /getSingerAlbum

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

示例截图:

获取歌曲VKey

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

参数列表:

  • 必选参数

songmid: 歌曲id

接口地址: /getMusicVKey

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

示例截图:

获取搜索热词

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

接口地址: /getHotkey

调用例子: /getHotkey

示例截图:

获取关键字搜索提示

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

参数列表:

  • 必选参数

key: 搜索关键字

接口地址: /getSmartbox

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

示例截图:

获取搜索结果

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

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

  • 必选参数

key: 搜索关键字

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

  • 可选参数

page: 当前页数, 默认为1

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

接口地址: /getSearchByKey

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

示例截图:

获取首页推荐

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

接口地址: /getRecommend

调用例子: /getRecommend

示例截图:

获取排行榜单列表

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

  • 可选参数

page: 当前页数, 默认为1

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

接口地址: /getTopLists

调用例子: /getTopLists

示例截图:

获取排行榜单详情

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

  • 可选参数

topId: 榜单id

page: 当前页数, 默认为1

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

接口地址: /getRanks

调用例子: /getRanks

示例截图:

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

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

  • 可选参数
    id: 专辑或者歌单请求结果的id

  • 可选参数

rootcommentid: 榜单id

cid:

pagenum: 当前页数, 默认为0

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

cmd:

reqtype:

biztype:

接口地址: /getComments

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

示例截图:

获取票务信息

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

接口地址: /getTicketInfo

调用例子: /getTicketInfo

示例截图:

关于项目

灵感来自

Binaryify/NeteaseCloudMusicApi

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

参考内容

Koa 2

Axios

阮一峰老师 - HTTP Referer 教程

项目不足

  1. 因为本人没写过unit test, 所以本项目尚未添加unit test, 等有时间再添加;

  2. 登录获取个人信息等接口都没做

QQ音乐API koa2实现 - 全接口实现相关推荐

  1. 【QQ音乐Api】移花接木 打造自己的音乐电台

    为什么80%的码农都做不了架构师?>>>    最近突发奇想想做个在线音乐小网页.需求很简单,如下 搜索歌曲 或 歌手 在线播放音乐 借用qq 或者 百度的 音乐接口 需求明确那就直 ...

  2. js封装QQ音乐api

    QQ音乐api文档地址:QQ音乐api文档 封装好后的api文件地址:需要引入请求封装文件-/ajax.js https://github.com/1015770492/yumbo-vue/blob/ ...

  3. 网易云音乐/QQ音乐API更新,支持多音质切换/MV获取

    自从上一版开源过后到现在音乐接口的调用量已经达到了快100W,但是最近由于网易云的更新,导致部分接口不能使用,最近在工作之余抽出时间把API重写. 本次API版本不再使用PHP,使用Java,相比以前 ...

  4. qq音乐mp3解析php源码,QQ音乐API

    QQ音乐API搜索歌曲API: &aggr=1&cr=1&loginUin={3}&format=json&inCharset=GB2312&outCh ...

  5. QQ音乐API分析记录

    我一直是QQ音乐的用户,最近想做一个应用,想用QQ音乐的API,搜索了很久无果,于是就自己分析QQ音乐的API. 前不久发现QQ音乐出了网页版的,是Flash的,但是,我用iPhone打开这个链接的时 ...

  6. android qq音乐api使用,QQ音乐API

    之前对接过QQ音乐的可能还在用之前的,例如http://tsmusic24.tc.qq.com/{$song_id}.mp3这个就不能使用了,废物不多说,我们直接进入正题. 第一种方法: 搜索歌曲和歌 ...

  7. android 百度音乐 api,[新]百度mp3接口(baidu mp3 api)

    做了一个demo,可以下载百度的flac格式音频,无需会员.源码:baidu-music-api-demo.tar.gz http://tingapi.ting.baidu.com/v1/restse ...

  8. 【转】2018最新版QQ音乐api调用

    下载QQ音乐任意歌曲方法: 1.首先在QQ音乐任意播放页面 2.进入开发者模式按F12即可 3.选择network,按ctrl+R进行筛选多媒体文件 4.优先选择大小排序右击最大的多媒体文件出来快捷菜 ...

  9. php+qq音乐api接口,QQ音乐API | 小灰灰博客

    { "code": 0, "data": { "keyword": "周杰伦", "priority" ...

  10. php开发个人音乐站 QQ音乐api

    做位一名优秀的程序员 工作时候戴耳机是不可避免的 然后好听的歌又需要会员 下面小编就给大家简绍我自己听歌的神器 话不多说 开撸! 一,要想获得对应的歌曲肯定要先获得歌曲的id,图片id等 下面主要讲解 ...

最新文章

  1. 互联网协议 — FTP 文件传输协议
  2. c语言如何打印矩形图形的程序 五行七列,C语言习题与实验
  3. 找出数组中任一重复的数字
  4. 父页面与子ifream传值,父页面获取子页面document元素与方法
  5. hbuild json红叉_MUI+Hbuilder之踩坑(三)
  6. java基础01-java历史
  7. 天梯—打印沙漏以及剩余个数(C语言)
  8. 中国西北地区专题地图合集(高清)
  9. 1. 神禹(shenyu)网关启动踩坑
  10. Adversarial Attack
  11. java: 不兼容的类型: java.lang.Long无法转换为java.lang.Intege
  12. home为什么是地点副词_为什么home有副词的词性?
  13. 分享一个做AR很好用的软件
  14. Android第三方视频加载框架JCVideoPlayer
  15. 组态王与三菱PLC编程软件GXWorks2通过OPC数据库进行动态仿真
  16. 数字标牌行业嵌入式主板方案
  17. 国标、行标、地标、团标、企标以及国际标准的基础知识
  18. 一.不同环境下C语言的编译
  19. 零基础CSS入门教程(16)–内边距
  20. 专门画像素图的软件_有哪几种简便的做像素画的软件?

热门文章

  1. 计算机通信发展史,通信技术发展史
  2. 自主创新生态圈再扩大,深度科技与金格科技完成产品兼容性认证
  3. matlab机器学习基础
  4. FIT2CLOUD飞致云正式启用CloudExplorer多云管理平台产品品牌
  5. 卧槽,我司电商平台又被攻击,年终奖没了
  6. 亚马逊、速卖通、temu、国际站卖家如何做自养号测评?干货分享
  7. 西门子atch指令详解_西门子PLC中断指令?
  8. windows下Docker的下载与安装
  9. 《统计学》第八版贾俊平第二章课后习题及答案总结
  10. TREND函数根据上半年各月产品销售量预算出未来销售量