node小爬虫(cheerio相当于jq)


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

http.get(url, res => {
    var html = '';
    res.on('data', data => {
        html += data;
    });
    res.on('end', data => {
        filterChapters(html);
    });
}).on('error', err => {
    console.log(err);
});
function filterChapters(html) {
    var $ = cheerio.load(html),
        chapterList = $('.mod-chapters .chapter'),
        courseData = [];
    chapterList.each(function (index, item) {
        var chapter = $(this);
        chapter.find('.icon-info').remove();
        var chapterTitle = chapter.find('strong').text().trim();
        var videos = chapter.find('.video>li');
        var videoList = [];
        videos.each(function (index, item) {
            var video = $(this);
            var id = video.data('media-id');
            var tmp = video.find('.J-media-item');
            tmp.find('.r').remove().end().find('.type').remove();
            var name = tmp.text().trim();
            name = name.split('\r\n');
            videoList.push({
                id: id,
                subTitle: name[0],
                time: name[1].trim()
            });
        });
        courseData.push({
            title: chapterTitle,
            courseList: videoList
        });
    });
    formatOutput(courseData);
}
function formatOutput(courseData) {
    var returnList='';
    courseData.forEach(function (val, index) {
        var list ='\n'+val.title+"\n\n";
        val.courseList.forEach(function (val, index) {
            list+='[id:'+val.id+'] ';
            list+='[time:'+val.time+']\t';
            list+=val.subTitle+'\n';
        });
        returnList+=list;
    });
    console.log(returnList);
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值