接口获取数据+播放源"/>
转载备忘:通过QQ音乐接口获取数据+播放源
作者:Rainy_K1
来源:CSDN
原文:
转载学习使用,版权归原作者所有,转载请附带原文链接
最近正在学习做一个web移动音乐播放器,因为不想做数据库存放数据,所以就学着在QQ音乐的接口获取一些数据
出现其他数据正常,但是无法播放的朋友可以试试这个
获取歌单数据:
url: .fcg
//songList.js
export function getDiscList() {
const url = ‘/api/getDiscList’
const data = Object.assign({}, commonParams, {
platform: ‘yqq’,
hostUin: 0,
sin: 0,
ein: 29,
sortId: 5,
needNewCode: 0,
categoryId: 10000000,
rnd: Math.random(),
format: ‘json’
})
return axios.get(url, {params: data
}).then((res) => {return Promise.resolve(res.data)
})
}
webpack.dev.conf.js
// 通过axios代理获取
/**
- 通过axios,从真实的QQ音乐的地址发送一个http请求,同时修改一个headers,正确响应,
- 并将内容返回到前端界面
- @param {[type]} req [require]
- @param {String} res [response]
- @param {Function} params: req.query [参数]
- @return {[type]} [description]
*/
apiRoutes.get(’/api/getDiscList’, function(req, res) {
var url = ‘.fcg’
axios.get(url, {
headers: {
referer: ‘/’,
host: ‘c.y.qq’
},
params: req.query
}).then((response) => {
// 将数据返回给前端
res.json(response.data)
}).catch((e) => {
console.log(e)
})
})
获取轮播图数据:
url: .fcg
export function getRecommend() {
const url = ‘.fcg’
const data = Object.assign({}, commonParams, {
platform: ‘h5’,
uin: 0,
needNewCode: 1
})
return jsonp(url, data, options)
}
获取歌词数据:
url: .fcg
export function getDiscList() {
const url = ‘/api/getDiscList’
const data = Object.assign({}, commonParams, {
platform: ‘yqq’,
hostUin: 0,
sin: 0,
ein: 29,
sortId: 5,
needNewCode: 0,
categoryId: 10000000,
rnd: Math.random(),
format: ‘jsonp’
})
return axios.get(url, {params: data
}).then((res) => {return Promise.resolve(res.data)
})
}
// webpack.dev.conf.js
apiRoutes.get(’/api/lyric’, function(req, res) {
var url = ‘.fcg’
axios.get(url, {
headers: {
referer: ‘’,
host: ‘c.y.qq’
},
params: req.query
}).then((response) => {
var ret = response.data
if (typeof ret === ‘string’) {
var reg = /\w+(({[()]+}))$/
var matches = ret.match(reg)
if (matches) {
ret = JSON.parse(matches[1])
}
}
res.json(ret)
}).catch((e) => {
console.log(e)
})
})
获取歌手信息:
url: .fcg
export function getSingerList() {
const url = ‘.fcg’
const data = Object.assign({}, commonParams, {
channel: ‘singer’,
page: ‘list’,
key: ‘all_all_all’,
pagesize: 100,
pagenum: 1,
hostUin: 0,
needNewCode: 0,
platform: ‘yqq’,
g_tk: 2001751543
})
return jsonp(url, data, options)
}
获取歌曲详情:
url: .fcg
export function getSingerDetail(singerId) {
const url = ‘.fcg’
const data = Object.assign({}, commonParams, {hostUin: 0,needNewCode: 0,order: 'listen',platform: 'h5page',begin: 0,num: 100,songstatus: 1,singermid: singerId,g_tk: 2001751543
})
return jsonp(url, data, options)
}
获取排行榜数据(抓取移动端):
url: .fcg
获取歌单歌曲列表:
url: .fcg
获取榜单详情(移动端):
url: .fcg
更多推荐
转载备忘:通过QQ音乐接口获取数据+播放源
发布评论