music-api-next
v1.0.0
Published
Music API for search results, songs, comments from QQ, Xiami and Netease.
Downloads
21
Readme
music-api-next
Music API for search results, songs, comments from QQ, Xiami and Netease.
For more information on how to get started and how to use music-api-next
, please see author's blog and comment there. For source files and issues, please visit the github repo.
Install
npm install music-api-next --save
If you are in China, please use:
cnpm install music-api-next --save
Quick Start
const musicAPI = require("music-api-next");
// Search API: search keywords on qq, xiami or netease
musicAPI
.searchSong({
key: "周杰伦",
page: 1,
limit: 10,
vendor: "qq"
})
.then(songs => console.log(songs))
.catch(error => console.log(error.message));
// Song API: get music meta including URL
musicAPI
.getSong({
id: "003OUlho2HcRHC",
vendor: "qq"
})
.then(meta => console.log(meta))
.catch(error => console.log(error.message));
// Comment API: get comments for the specified song
musicAPI
.getComment({
id: "003OUlho2HcRHC",
page: 1,
limit: 20,
vendor: "qq"
})
.then(comments => console.log(comments))
.catch(error => console.log(error.message));
Run with a server
git clone [email protected]:dongyuanxin/music-api-next.git
cd music-api-next
npm install
// run server on port: 5050
node server.js
You can see the results of music APIs by accessing the url.
For example:
- Search API:
http://localhost:5050/search/song?key=周杰伦&page=1&limit=10&vendor=qq
- Song API:
http://localhost:5050/get/song?id=003OUlho2HcRHC&vendor=qq
- Comment API:
http://localhost:5050/get/comment?id=003OUlho2HcRHC&page=1&limit=10&vendor=qq
Run with webpack
First, package with webpack.
git clone [email protected]:dongyuanxin/music-api-next.git
cd music-api-next
npm install
// use webpack to package program
// pacakged file named 'music-api-next.js' is placed in ./dist/
webpack
Then, you can move music-api-next.js
very conveniently and use it in the following ways:
const musicAPI = require("./music-api-next");
// ...
API
musicAPI.searchSong(query)
:query: { key: String, page: Number, limit: Number, vendor: one of ['netease', 'xiami', 'qq'] }
musicAPI.getSong(query)
:query: { id: String or Number, vendor: one of ['netease', 'xiami', 'qq'] }
musicAPI.getComment(query)
:query: { id: String or Number, page: Number, limit: Number, vendor: one of ['netease', 'xiami', 'qq'] }
Warning
- It cannot be used for commercial purposes.
- It runs only on NodeJS instead of browser.
- Please use it politely and don't put too much pressure on music platforms.
Thanks
The code for this project refers to the following open source projects and has been fixed, improved and added on NodeJS.
- listen1_chrome_extension: Has received a lawyer's letter from Tencent. May stop maintenance at the end of the year 2018.
- musicAPI: It has stopped maintenance one year ago. So its APIs are invalid.