因为qq音乐歌手信息的获取,设置了reffer(设置了url的来源)和host(决定了虚拟机上的哪个站点),
所以通过使用express配置路由,
通过axios来获取数据,
将数据返回给前端请求的路由地址
在webpack.dev.conf.js的before方法中配置路由地址
//这里
app.get('/getData', function (req, res) {
var url = 'https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcg'
axios.get(url, {
headers: {
referer: 'https://y.qq.com/',
},
params: req.query // 接收前端通过路由地址传过来的参数,传到qq的url地址中去
}).then((response) => {
//序列化数据,promise状态变为resolve,数据传回前端
res.json(response.data)
}).catch((e) => {
console.log(e)
})
})
getDiscList () {
const url = '/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' // 默认格式为jsonp, 改为json
})
return axios.get(url, {
params: data
}).then((res) => {
return Promise.resolve(res.data) // 返回数据
})
}
本文介绍如何通过设置reffer和host,使用express和axios从QQ音乐API抓取歌手信息,配置路由并处理前端请求,实现数据的序列化返回。
3095

被折叠的 条评论
为什么被折叠?



