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

用cheerio写小爬虫,跑程序无反应

用cheerio写小爬虫,跑程序无反应

吃天狗的月亮 2017-05-26 16:21:46
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){        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();            var id = video.attr('href').split('video/')[1];            chapterData.videos.push({                id: id,                title: videoTitle            });        })        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('获取课程信息出错!') })这是源码,不知道哪里出错了,代码就是不执行,不知道是因为cheerio安装问题还是代码问题,试了各种网上的方法都没用!!!
查看完整描述

2 回答

?
吃天狗的月亮

TA贡献3条经验 获得超1个赞

问题已解决,在第六行的代码中   var $ = cheerio.load('html');

应该是   var $ = cheerio.load(html);

查看完整回答
反对 回复 2017-06-07
?
拿不到钥匙的车放不进手机的歌

TA贡献71条经验 获得超29个赞

函数没调用?

查看完整回答
反对 回复 2017-05-26
  • 2 回答
  • 0 关注
  • 1419 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信