QQ音乐爬虫(odeJs)
QQ音乐爬虫(odeJs)
一、创建一个文件夹 例如我创建在D:\code\qq-music 在文件目录打开cmd 在cmd中执行 npm init 项目初始化 然后安装一些工具包: npm i request -s npm i querystring -s 在目录下创建一个Music的文件夹用于存储下载的音乐文件 二、直接上代码 D:\
QQ音乐爬虫(odeJs)
一、创建一个文件夹
例如我创建在D:\code\qq-music
在文件目录打开cmd
在cmd中执行 npm init 项目初始化
然后安装一些工具包:
npm i request -s
npm i querystring -s
在目录下创建一个Music的文件夹用于存储下载的音乐文件
二、直接上代码 D:\code\qq-music\qqMusic.js
ct request = require( request );
ct fs = require( fs ); //文件模块
ct querystring=require(querystring);
ct downMusic = function(UrlJsonObj){
ct baseUrl = http://124.22.155.157/qq/;
for(var attr in UrlJsonObj){
ct musicJsonObj = UrlJsonObj[attr];
ct songname = musicJsonObj.songname;
ct songUrl = musicJsonObj.songUrl;
request(baseUrlsongUrl).pipe(( ./Music/ songname .m4a ))
}
};
ct makeMusicJsonArray = function(songJsonArray){
ct baseUrl = .fcg;
let UrlJsonObj = {};
(function(musicInfo){
ct songname = musicInfo.songname;
ct songmid = musicInfo.songmid;
ct url = baseUrl?querystring.stringify(musicInfo.params);
request(url, function (error, respe, body) {
ct BodyJson = JSO.parse(body);
let musicInfo = {
songname : this.songname
};
musicInfo[songUrl] = BodyJson[req_0][data][midurlinfo][0][purl];
UrlJsonObj[this.songmid] = musicInfo;
if(Object.getOwnPropertyames(UrlJsonObj).length == songJsonArray.length){
this.downMusic(UrlJsonObj)
}
}.bind({
songname : songname,
songmid : songmid,
downMusic : downMusic
}));
});
};
下面标红的是我在这个页面到的歌曲清单接口
ct queryMusicList = function(){
request( .fcg?tpl=&page=detail&date=2018_41&topid=26&type=top&song_begin=0&song_num=00&g_tk=581&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needewCode=0 , function (error, respe, body) {
if(respe.statusCode == 200){
body = JSO.parse(body);
ct songList = body.songlist;
let songJsonArray = [];
(function(songDetail){
songDetail = songDetail.data;
ct songJsonObj = {
albumname : songDetail.albumname,
albummid : songDetail.albummid,
singer : songDetail.singer[0][name],
songname : songDetail.songname,
songmid : songDetail.songmid,
songtype : songDetail.songtype
};
ct musicParams = {
req:{
module:CD.SrfCdnDispatchServer,
method:GetCdnDispatch,
param:{
guid:1111,
calltype:0,
userip:
}
},
req_0:{
module:vkey.GetVkeyServer,
method:CgiGetVkey,
param:{
guid:1111,
songmid:[songDetail.songmid],
songtype:[songDetail.songtype],
uin:0,
loginflag:1,
platform:20
}
},
comm:{
uin:0,
format:json,
ct:20,
cv:0
}
};
var params = {
loginUin : 0,
hostUin : 0,
format : jsonp ,
inCharset: utf8 ,
outCharset: utf-8 ,
notice: 0,
platform: yqq ,
needewCode: 0,
data: encodeURI(JSO.stringify(musicParams))
};
songJsonObj[params] = params
songJsonArray.push(songJsonObj)
});
makeMusicJsonArray(songJsonArray);
}
});
};
queryMusicList();
三、运行代码
node qqMusic.js
PS:纯粹是娱乐一下,打发休息时间
转载于:.html
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2024-05-07 11:57:45
推荐阅读
留言与评论(共有 15 条评论) |
本站网友 杰威尔音乐 | 24分钟前 发表 |
inCharset | |
本站网友 做艾图片 | 12分钟前 发表 |
respe | |
本站网友 鞍山租房 | 6分钟前 发表 |
yqq | |
本站网友 优优宝贝 | 6分钟前 发表 |
\code\qq-music\qqMusic.js ct request = require( request );ct fs = require( fs ); //文件模块ct querystring=require(querystring);ct downMusic = function(UrlJsonObj){ ct baseUrl = http | |
本站网友 巴蜀风月 | 21分钟前 发表 |
纯粹是娱乐一下,打发休息时间 转载于 | |
本站网友 三亚玖龙商务酒店 | 19分钟前 发表 |
1111 | |
本站网友 内分泌失调怎么调理 | 17分钟前 发表 |
CgiGetVkey | |
本站网友 出游客 | 26分钟前 发表 |
platform | |
本站网友 珍珠粉美白 | 9分钟前 发表 |
vkey.GetVkeyServer | |
本站网友 保湿霜 | 26分钟前 发表 |
songmid | |
本站网友 减小肚子 | 8分钟前 发表 |
calltype | |
本站网友 刺激战场国际服 | 26分钟前 发表 |
needewCode | |
本站网友 稼穑艰难 | 27分钟前 发表 |
20 } } | |
本站网友 李勇军 | 12分钟前 发表 |
0 |