var?http?=?require('http');
var?cheerio?=?require('cheerio');
var?url?=?'http://www.xianlaiwan.cn/learn/348';
function?filterChapters(html){
var?$?=?cheerio.load(html);
var?chapters?=?$('.learnchapter');
/*
[{
chapterTitle:?'',
videos:?[
title:?'',
id:?''
]
}]
*/
var?courseData?=?[];
chapters.each(function(item){
var?chapter?=?$(this);
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?video?=?chapter.find('.studyvideo');
var?title?=?video.text();
var?id?=?video.attr('href').split('video/')[1];
chapterData.videos.push({
title:?title,
id:?id
})
});
courseData.push(chapterData);
});
return?courseData;
}
function?printCourseInto(courseData){
courseData.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('data',function(data){
var?courseData?=?filterChapters(data);
printCourseInto(courseData);
})
}).on('error',function(e){
console.log("Got?error:"?+?e.message);
});
2016-10-04
2015-12-24
瀏覽器審查元素看一下,是不是類名稱換掉了。