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

谁能帮我跑一下?我电脑上是直接就没有任何显示,直接变成输入命令行的那种形式

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

function filterChapters(html){
    var $ = cheerio.load(html);
    var chapters = $('.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 printCourseDataInfo(courseData){
    courseData.forEach(function(item){
        var chapterTitle = item.chapterTitle;
        console.log(chapterTitle+'\n');
        item.videos.forEach(function(video){
            console.log('  ['+videos.id+']'+videos.title+'\n');
        })
    })
}

http.get(url,function (res) {
    var html = '';
    res.on('data',function(data){
        html += data;
    })
    res.on('end',function(){
        var courseData = filterChapters(html);
        printCourseDataInfo(courseData);
    })
}).on('error',function(){
    console.log('获取课程数据出错');
})

正在回答

3 回答

按视频里讲的打开浏览器,F12,查看想要显示的标签,有些地方是不一样的,主要改以下几个地方,可达到原视频效果:

var chapters = $('.chapter')
 
var chapterTitle = chapter.find('strong').text().split('\n')[2].trim()
 
var video = $(this).find('.J-media-item')
  
var videoTitle = video.text().split('\n')[2].trim()


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

我晚点再看下,现在在上课,谢谢

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

你这类名有的都是错的,肯定跑不通的,你要用最新的类名啊

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

举报

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

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

进入课程

谁能帮我跑一下?我电脑上是直接就没有任何显示,直接变成输入命令行的那种形式

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