nodeJs爬虫获取数据

var http=require('http');
var cheerio=require('cheerio');//页面获取到的数据模块
var url='http://www.jcpeixun.com/lesson/1512/';
function filterData(html){
    /*所要获取到的目标数组 
   var courseData=[{ chapterTitle:"", videosData:{ videoTitle:title, videoId:id, videoPrice:price } }]
*/ var $=cheerio.load(html); var courseData=[]; var chapters=$(".list-collapse"); chapters.each(function(item){ var chapterTitle=$(this).find(".collapse-head").find("label").text(); var videos=$(this).find(".listview5").children("li"); var chaptersData={ chaptersTitle:chapterTitle, videosData:[] } videos.each(function(item){ var videoTitle=$(this).find(".ml10").attr('data-lesson-name'); var videoId=$(this).find(".ml10").attr('data-lesson-id'); var vadeoPrice=$(this).find(".colblue").text(); chaptersData.videosData.push({ title:videoTitle, id:videoId, price:vadeoPrice }) }) courseData.push(chaptersData) }) return courseData } function printCourseInfo(courseData){ courseData.forEach(function(item){ console.log(item.chaptersTitle+'\n'); item.videosData.forEach(function(item){ console.log(item.title+'【'+item.id+'】'+item.price+'\n') }) }) } http.get(url,function(res){ html=""; res.on("data",function(data){ html+=data }) res.on('end',function(){ var courseData=filterData(html); printCourseInfo(courseData) }) })

打开CMD,进行node环境,运行js,可以看到已经获取到了数据;

posted @ 2015-12-16 14:40  Jone_chen  阅读(1709)  评论(0编辑  收藏  举报