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

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

2017-05-21
我的代码
//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('获取课程数据出错!');
});举报