您现在的位置是:首页 > 电脑 > 

QQ音乐爬虫(odeJs)

2025-07-17 22:44:01
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&notice=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组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/diannao/884732.html

相关标签:无
上传时间: 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