首页 > Web开发 > 详细

nodeJs编写小爬虫

时间:2017-01-31 23:55:10      阅读:396      评论:0      收藏:0      [点我收藏+]

var http=require(‘http‘);
var cheerio=require(‘cheerio‘);
var url=‘http://www.XXXX‘;

function filterChapters(html){
    var $=cheerio.load(html);
    var chapters=$(‘.chapter‘);//不是 .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.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(‘获取课程数据失败!‘)
})

nodeJs编写小爬虫

原文:http://www.cnblogs.com/aliwa/p/6359622.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!