From 885d1930f2bd351576817e9c19102c62f0a270e8 Mon Sep 17 00:00:00 2001 From: binaryify Date: Thu, 25 Jun 2020 17:55:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=BA=9F=E5=BC=83idx=E5=8F=82=E6=95=B0,=E5=8F=AA=E6=94=AF?= =?UTF-8?q?=E6=8C=81id=E5=8F=82=E6=95=B0,=E4=BF=AE=E5=A4=8D=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=95=B0=E6=8D=AE=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20#830=20,=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E6=97=A5=E6=8E=A8=E5=8F=AF=E7=94=A8=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E5=88=97=E8=A1=A8,=E8=8E=B7=E5=8F=96=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E6=97=A5=E6=8E=A8=E8=AF=A6=E7=BB=86=E6=95=B0=E6=8D=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.MD | 4 + README.MD | 2 + docs/README.md | 111 ++++++----------------- module/history_recommend_songs.js | 11 +++ module/history_recommend_songs_detail.js | 12 +++ module/top_list.js | 60 +++--------- package.json | 2 +- 7 files changed, 72 insertions(+), 130 deletions(-) create mode 100644 module/history_recommend_songs.js create mode 100644 module/history_recommend_songs_detail.js diff --git a/CHANGELOG.MD b/CHANGELOG.MD index f0c0f59..313fe50 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,4 +1,8 @@ # 更新日志 +### 3.34.0 | 2020.06.25 +- 排行榜接口废弃idx参数,只支持id参数,修复返回数据异常问题 [#830](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/830) +- 新增`获取历史日推可用日期列表`,`获取历史日推详细数据` 接口 + ### 3.33.2 | 2020.06.23 - 更新每日推荐接口 [#826](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/826) diff --git a/README.MD b/README.MD index ab41833..7aa2bfe 100644 --- a/README.MD +++ b/README.MD @@ -172,6 +172,8 @@ 151. 获取推荐视频 152. 获取视频分类列表 153. 获取全部视频列表接口 +154. 获取历史日推可用日期列表 +155. 获取历史日推详细数据 ## 环境要求 diff --git a/docs/README.md b/docs/README.md index 2a6a501..5f966d1 100644 --- a/docs/README.md +++ b/docs/README.md @@ -169,6 +169,8 @@ 151. 获取推荐视频 152. 获取视频分类列表 153. 获取全部视频列表接口 +154. 获取历史日推可用日期列表 +155. 获取历史日推详细数据 ## 安装 @@ -1674,6 +1676,24 @@ mp3url 不能直接用 , 可通过 `/song/url` 接口传入歌曲 id 获取具 返回数据如下图 : ![每日推荐歌曲](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E6%9B%B2.png) +### 获取历史日推可用日期列表 + +说明 : 调用此接口 , 可获得历史日推可用日期列表 + +**接口地址 :** `/history/recommend/songs` + +**调用例子 :** `/history/recommend/songs` + +### 获取历史日推详情数据 + +说明 : 调用此接口 ,传入当日日期, 可获得当日历史日推数据 + +**必选参数 :** `date`: 日期,通过历史日推可用日期列表接口获取,不能任意日期 + +**接口地址 :** `/history/recommend/songs/detail` + +**调用例子 :** `/history/recommend/songs/detail?date=2020-06-21` + ### 私人 FM 说明 : 私人 FM( 需要登录 ) @@ -2048,98 +2068,23 @@ MV 点赞转发评论数数据 **调用例子 :** `/video/url?id=89ADDE33C0AAE8EC14B99F6750DB954D` -### 排行榜 - -说明 : 调用此接口 , 传入数字 idx, 可获取不同排行榜 - -**必选参数 :** `idx`: 对象 key, 对应以下排行榜 - -``` -"0": 云音乐新歌榜, - -"1": 云音乐热歌榜, - -"2": 网易原创歌曲榜, - -"3": 云音乐飙升榜, - -"4": 云音乐电音榜, - -"5": UK排行榜周榜, - -"6": 美国Billboard周榜 - -"7": KTV嗨榜, - -"8": iTunes榜, - -"9": Hit FM Top榜, - -"10": 日本Oricon周榜 - -"11": 韩国Melon排行榜周榜, - -"12": 韩国Mnet排行榜周榜, - -"13": 韩国Melon原声周榜, - -"14": 中国TOP排行榜(港台榜), - -"15": 中国TOP排行榜(内地榜) - -"16": 香港电台中文歌曲龙虎榜, - -"17": 华语金曲榜, - -"18": 中国嘻哈榜, - -"19": 法国 NRJ EuroHot 30周榜, - -"20": 台湾Hito排行榜, - -"21": Beatport全球电子舞曲榜, - -"22": 云音乐ACG音乐榜, - -"23": 云音乐说唱榜 - -"24": 云音乐古典音乐榜 - -"25": 云音乐电音榜 - -"26": 抖音排行榜 - -"27": 新声榜 - -"28": 云音乐韩语榜 - -"29": 英国Q杂志中文版周榜 +### 所有榜单 -"30": 电竞音乐榜 +说明 : 调用此接口,可获取所有榜单 +**接口地址 :** `/toplist` -"31": 云音乐欧美热歌榜 +**调用例子 :** `/toplist` -"32": 云音乐欧美新歌榜 +### 排行榜 -"33": 说唱TOP榜 +说明 : 调用此接口 , 传入榜单 id, 可获取不同排行榜数据(v3.34.0之后不再支持idx参数) -``` -**可选参数 :** `id`: 榜单id,传入后idx将失效 +**必选参数 :** `id`: 榜单id,通过所有榜单接口获取 **接口地址 :** `/top/list` -**调用例子 :** `/top/list?idx=6`,`/top/list?id=2809577409` - -返回数据如下图 : - -![排行榜](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_list.png) - -### 所有榜单 +**调用例子 :** `/top/list?id=2809577409` -说明 : 调用此接口,可获取所有榜单 -**接口地址 :** `/toplist` - -**调用例子 :** `/toplist` ### 所有榜单内容摘要 diff --git a/module/history_recommend_songs.js b/module/history_recommend_songs.js new file mode 100644 index 0000000..3f1afeb --- /dev/null +++ b/module/history_recommend_songs.js @@ -0,0 +1,11 @@ +// 历史每日推荐歌曲 + +module.exports = (query, request) => { + query.cookie.os = 'ios' + const data = { + } + return request( + 'POST', `https://music.163.com/api/discovery/recommend/songs/history/recent`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) +} \ No newline at end of file diff --git a/module/history_recommend_songs_detail.js b/module/history_recommend_songs_detail.js new file mode 100644 index 0000000..d60f2e4 --- /dev/null +++ b/module/history_recommend_songs_detail.js @@ -0,0 +1,12 @@ +// 历史每日推荐歌曲 + +module.exports = (query, request) => { + query.cookie.os = 'ios' + const data = { + date: query.date || '', + } + return request( + 'POST', `https://music.163.com/api/discovery/recommend/songs/history/detail`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) +} \ No newline at end of file diff --git a/module/top_list.js b/module/top_list.js index c46a3cc..7cacb4c 100644 --- a/module/top_list.js +++ b/module/top_list.js @@ -1,52 +1,20 @@ // 排行榜 - -const topList = { - 0: '3779629', //云音乐新歌榜 - 1: '3778678', //云音乐热歌榜 - 2: '2884035', ///云音乐原创榜 - 3: '19723756', //云音乐飙升榜 - 4: '10520166', //云音乐电音榜 - 5: '180106', //UK排行榜周榜 - 6: '60198', //美国Billboard周榜 - 7: '21845217', //KTV嗨榜 - 8: '11641012', //iTunes榜 - 9: '120001', //Hit FM Top榜 - 10: '60131', //日本Oricon周榜 - 11: '3733003', //韩国Melon排行榜周榜 - 12: '60255', //韩国Mnet排行榜周榜 - 13: '46772709', //韩国Melon原声周榜 - 14: '112504', //中国TOP排行榜(港台榜) - 15: '64016', //中国TOP排行榜(内地榜) - 16: '10169002', //香港电台中文歌曲龙虎榜 - 17: '4395559', //华语金曲榜 - 18: '1899724', //中国嘻哈榜 - 19: '27135204', //法国 NRJ EuroHot 30周榜 - 20: '112463', //台湾Hito排行榜 - 21: '3812895', //Beatport全球电子舞曲榜 - 22: '71385702', //云音乐ACG音乐榜 - 23: '991319590', //云音乐说唱榜, - 24: '71384707', //云音乐古典音乐榜 - 25: '1978921795', //云音乐电音榜 - 26: '2250011882', //抖音排行榜 - 27: '2617766278', //新声榜 - 28: '745956260', //云音乐韩语榜 - 29: '2023401535', //英国Q杂志中文版周榜 - 30: '2006508653', //电竞音乐榜 - 31: '2809513713', //云音乐欧美热歌榜 - 32: '2809577409', //云音乐欧美新歌榜 - 33: '2847251561', //说唱TOP榜 - 34: '3001835560', //云音乐ACG动画榜 - 35: '3001795926', //云音乐ACG游戏榜 - 36: '3001890046', //云音乐ACG VOCALOID榜 - -} - module.exports = (query, request) => { + query.cookie.os = 'pc' + if(query.idx){ + return Promise.resolve( { + status: 500, + body: { + code: 500, + msg: '不支持此方式调用,只支持id调用' + } + }) + } + const data = { - id: query.id || topList[query.idx], - n: 1000, - s: '5', - shareUserId: '0', + id: query.id, + n: '500', + s: '0', } return request( 'POST', `https://interface3.music.163.com/api/playlist/v4/detail`, data, diff --git a/package.json b/package.json index 96538f0..92603af 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "NeteaseCloudMusicApi", - "version": "3.33.2", + "version": "3.34.0", "description": "网易云音乐 NodeJS 版 API", "scripts": { "start": "node app.js", -- GitLab