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

能运行,但是没有结果。

开始我以为自己哪里没有写对,又重新看了几遍,发现除了命名不一样,其余和视频都是一样的,可以运行,就是没有结果,这是为什么啊....?http://img1.sycdn.imooc.com//5716dd760001ee7f06770442.jpg

正在回答

4 回答

//适合现在慕课网的代码,水平有限,有不足希望指点

var http = require('http')

var cheerio = require('cheerio')

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

function filterChapters(html){

    var $ =cheerio.load(html)

    var chapters = $('.chapter')

    var courseData=[]

    chapters.each(function(item){

        $('div').remove('.chapter-content')

        $('button').remove()

        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('.J-media-item')

            var videoTitle = video.text().replace(/\s+/g,' ')

            var id =video.attr('href').split('video/')[1]

            chapterData.videos.push({

                title : videoTitle,

                id: id

            })

        })

        courseData.push(chapterData)

    })

    return courseData;

}

function printCourseInfo(courseData){

    var info = ''

    courseData.forEach(function(item){

        info += item.chapterTitle.replace(/\s/g,' ').trim() + '\n'

        item.videos.forEach(function(video){

            info += ' 【'+video.id.replace(/\s/g,' ') +'】   '+ video.title.replace(/\s/g,' ').trim() +'\n'

        }) 

    })

    console.log(info)

}

console.log('\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)

        over();

    })

}).on('error',function(){

    console.log('获取数据出错!')

})

function over(){

    console.log('\n                     爬虫程序爬取结束~~~')

}


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

我也遇到这样的问题了。

我想这个课程开了有一段时间了。。。同时网站也在变化,代码稍微变了些,你可以看看 http://www.imooc.com/learn/348 这个网站的源码,就稍微改了一点点~~

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

慕UI3015154 提问者

嗯,你猜的很对呢,的确是代码的问题,你把.learnchaper的位置那里换成.cheaper就可以成功运行啦
2016-04-22 回复 有任何疑惑可以回复我~

571793f80001629105000270.jpg

571793f80001def105000270.jpg

571793f90001476105000270.jpg在这里,谢谢!


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

代码呢?

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

慕UI3015154 提问者

我贴到回答下面了,麻烦你看看,谢谢
2016-04-20 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

能运行,但是没有结果。

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