为了账号安全,请及时绑定邮箱和手机立即绑定

求大神提供一下这一节的源码,谢谢啊

foeEach报错,但一直找不到原因 望大神提供能运行的源码,谢谢

http://img1.sycdn.imooc.com//5921204e0001479106630299.jpg

正在回答

1 回答

我的代码

//cheerio操作装载后的html
//npm install cheerio

var http=require("http");
var url="http://www.imooc.com/learn/348";
var cheerio=require("cheerio");

function filterChapters(html){
	var $=cheerio.load(html);
	var chapters=$(".learnchapter");
	//期望的数据结构
	// [{
	// 	chapterTitle:"",
	// 	videos:[
	// 		title:"",
	// 		id:""
	// 	]
	// }]
	// 
	var courseData=[];
	chapters.each(function(item){
		var chapter=$(this);
		var chapterTitle=chapter.find("strong").text();
		var videos=chapter.find(".video").children('li');
		var chapterData={
			chapterTitle:chapterTitle,
			videos:[]
		};

		videos.each(function(item){
			var video=$(this).find(".studyvideo");
			var videoTitle=video.text();
			var id=video.attr("href").split("video/")[1];

			chapterData.videos.push({
				title:videoTitle,
				id:id
			});
		});

		courseData.push(chapterData);
	});
	return courseData;
}

function printCourseInfo(courseData){

	courseData.array.forEach( function(item) {
		var chapterTitle=item.chapterTitle;

		console.log(chapterTitle+"\n");

		item.videos.forEach(function(video){
			console.log("【"+video.id+"】"+video.title+"\n");
		});
	});
}




http.get(url,function(res){
	var html="";

	res.on("data",function(data){
		html+=data;
	});
	res.on("end",function(){
		var courseData=filterChapters(html);

		printCourseInfo(courseData);
	});
}).on("error",function(){
	console.log('获取课程数据出错!');
});


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(一)
  • 参与学习       219394    人
  • 解答问题       896    个

本视频教程带你揭开Node.js的面纱,带你走进一个全新世界

进入课程

求大神提供一下这一节的源码,谢谢啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信