//related ,相关歌单 // module.exports = (req, res, createWebAPIRequest, request) => { // const options = { // url: "http://music.163.com/playlist?id=" + req.query.id, // method: "GET", // headers: { // Referer: "http://music.163.com", // "User-Agent": // "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3380.0 Safari/537.36" // } // }; // request(options, (error, response, body) => { // if (error) { // res.status(502).send("fetch error"); // } else { // try { // const pattern = /
[\s\S]*?[\s\S]*?]*>([^<]+?)<\/a>[\s\S]*?]*>([^<]+?)<\/a>/g; // const data = {playlists:[],code:200}; // let result; // while ((result = pattern.exec(body)) != null) { // data.playlists.push({ // creator: { // userId: result[4].slice('/user/home?id='.length), // nickname: result[5] // }, // coverImgUrl: result[1].slice(0,-('?param=50y50'.length)), // name: result[3], // id: result[2].slice('/playlist?id='.length) // }); // } // res.send(JSON.stringify(data)); // } catch (error) { // res.status(502).send("fetch error"); // } // } // }); // }; module.exports = (query, request) => { return request( 'GET', `http://music.163.com/playlist?id=${query.id}`, {}, {ua: 'pc', cookie: query.cookie, proxy: query.proxy} ) .then(response => { try{ const pattern = /
[\s\S]*?[\s\S]*?]*>([^<]+?)<\/a>[\s\S]*?]*>([^<]+?)<\/a>/g; let result, playlists = [] while((result = pattern.exec(response.body)) != null){ playlists.push({ creator: { userId: result[4].slice('/user/home?id='.length), nickname: result[5] }, coverImgUrl: result[1].slice(0,-('?param=50y50'.length)), name: result[3], id: result[2].slice('/playlist?id='.length) }) } response.body = {code: 200, playlists: playlists} return response } catch(err){ response.code = 500 response.body = {code: 500, msg: err.stack} return Promise.reject(response) } }) }