第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

代碼可以正常爬取,但是界面上標(biāo)題后面總是有這一章的介紹,還有每一節(jié)數(shù)字后面的“開始學(xué)習(xí)”不知道在哪里,也去不掉。

var?http?=?require('http');
var?cheerio?=?require('cheerio');
//?var?Promise?=?window.Promise;		//WINDOW?is?not?defined
//?var?Promise?=?require('Promise');		//can?not?find?module?"Promise"
var?Promise?=?require('bluebird');
var?url?=?'http://idcbgp.cn/learn/';
var?courseId?=[56,?38,?637,?348,?259,?197,?134,?75];

function?filterChapters(html){
	var?$?=?cheerio.load(html);
/*
//數(shù)組
[{
	chapterTitle:'',
	videos:[
			title:'',
			id:''
		]
}]*/

/*
//對(duì)象
courseData?=?{
	title:title,
	number:number,
	videos:[{
		chapterTitle:title,
		videos:[
				title:'',
				id:''
			]
	}]
}*/
	var?chapters?=?$('.chapter');
	var?title?=?$('#main?.hd?h2').text();
	var?number?=?$('#main?.static-item?span.js-learn-num').text();
	var?courseData?=?{
		title:title,
		number:number,
		videos?:?[]
	};

	chapters.each(function(){
		var?chapterTitle?=?$(this).find('strong').not('strong?div').text().trim();		//如何去掉
		var?videos?=?$(this).find('ul').children('li');

		var?chapterData?=?{
			chapterTitle:?chapterTitle,
			videos:[]
		}

		videos.each(function(){		//item?used?as?this
			var?videoTitle?=?$(this).find('a').text().trim();
			var?videoId?=?$(this).attr('data-media-id');
			chapterData.videos.push({
				title:videoTitle,
				id:videoId
			})
		});

		//?courseData.push(chapterData);		//courseData是對(duì)象,沒有push方法
		courseData.videos.push(chapterData);
	});
	return?courseData;	
}

function?printCourseInfo(coursesData){
	coursesData.forEach(function(courseData){
		console.log(courseData.number?+?'?人學(xué)過?'?+?courseData.title?+?'\n');

		var?str?=?'';
		courseData.videos.forEach(function(item){
			str?+=?item.chapterTitle?+'\n';
			item.videos.forEach(function(item){
				str?+=?'【'+item.id+'】'+?item.title?+'\n'
			})
		})
		console.log(str);
	})
	
}



function?getPageSync(url){
	return?new?Promise(function(resolve,?reject){				//er1:promise是對(duì)象
		console.log('正在爬取'?+?url);
		http.get(url,function(res){
			var?html?=?'';

			res.on('data',function(data){
				html?+=?data;
			})

			res.on('end',function(){
				resolve(html);		//成功后返回傳遞html

				//?var?courseData?=?filterChapters(html);
			})
		}).on('error',function(e){
			reject(e);
			console.log('獲取課程數(shù)據(jù)失敗');
		})
	})
}

var?fetchCourseArray?=?[];		//Promise對(duì)象的數(shù)組

courseId.forEach(function(id){
	fetchCourseArray.push(getPageSync(?url?+?id));		//組合地址
})

Promise
		.all(fetchCourseArray)		//接收一個(gè)數(shù)組,數(shù)組里面是一個(gè)一個(gè)Promise
		.then(function(pages){		//pages拿到傳遞下來的結(jié)果

			var?coursesData?=?[];

			pages.forEach(function(html){
				var?courses?=?filterChapters(html);

				coursesData.push(courses);
			})

			coursesData.sort(function(a,b){		//返回正數(shù),則a應(yīng)該位于b后面
				return?a.number?<?b.number;		//由大到小的順序
			})

			printCourseInfo(coursesData);

		})


正在回答

舉報(bào)

0/150
提交
取消
進(jìn)擊Node.js基礎(chǔ)(二)
  • 參與學(xué)習(xí)       76727    人
  • 解答問題       242    個(gè)

本教程帶你攻破 Nodejs,讓 JavaScript流暢運(yùn)行在服務(wù)器端

進(jìn)入課程

代碼可以正常爬取,但是界面上標(biāo)題后面總是有這一章的介紹,還有每一節(jié)數(shù)字后面的“開始學(xué)習(xí)”不知道在哪里,也去不掉。

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)