为了账号安全,请及时绑定邮箱和手机立即绑定

vedios获取成功,但代码块 vedios.each(function(vedio)) {...}); 这段代码根本没有执行,请问是什么回事?

var http = require('http');

var cheerio = require('cheerio');

var url = 'http://www.imooc.com/learn/348';

function filterCapters(html){
    var $ = cheerio.load(html);
    var chapters = $('.chapter');
    // console.log(chapters);
    
    var courseData = [];
    // courseData[{
    // chapterTitle:'',
    // vedios:[{
    // title: '',
    // id: 0
    // }]
    // }];

    chapters.each(function(item){
        var chapters = $(this);
        
        var chapterTitle = chapters.find('strong').text().split('\n')[2].trim();
        var vedios = chapters.find('.vedio').children('li');
        // console.log(vedios);
        
        var chapterData = {
            chapterTitle: chapterTitle,
            vedios: []
        };
        
        // console.log(typeof chapters === typeof vedios);
        
        // console.log(vedios);
        
        vedios.each(function(vedio) {
            var id = $(this).dataset.mediaId;
            var vedioTitle = $(this).find('J-media-item').text();
            console.log(id, vedioTitle);
            chapterData.vedios.push({
                title: vedioTitle,
                id: id
            });
        });
    
            courseData.push(chapterData);
        });

    return courseData;
}

function printCourse (courseData){
    console.log(courseData);
    courseData.forEach(function(item){
        console.log(item.chapterTitle + '\n');
        
        item.vedios.forEach(function(item) {
            console.log('【' + '】' + item.id + '\n');
        });
    });
}

http.get(url, function(res){

    var html = '';
    
    res.on('data', function(chunk){
        html += chunk;
    });

    res.on('end', function(){
       var courseData = filterCapters(html);
       // printCourse(courseData);
              console.log('courseData:\n',courseData);
        });
}).on('error', function(){
console.log('发生不可预知的错误!');
});


正在回答

2 回答

var vedios = chapters.find('.vedio').children('li');

单词拼错了

var vedios = chapters.find('.video').children('li');

0 回复 有任何疑惑可以回复我~

75行的打印结果

//img1.sycdn.imooc.com//59f2d1380001427d06110154.jpg

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(一)
  • 参与学习       219397    人
  • 解答问题       896    个

本视频教程带你揭开Node.js的面纱,带你走进一个全新世界

进入课程

vedios获取成功,但代码块 vedios.each(function(vedio)) {...}); 这段代码根本没有执行,请问是什么回事?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信