下面这段代码用在命令行node运行,没任何反映?看看有什么问题?

发布于 2022-09-01 18:02:53 字数 1735 浏览 21 评论 0

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

function filterChapters(html) {
    var $ = cheerio.load(html);
    var chapter = $('.chapter');

    // [{
    //     chapterTitile: '',
    //     videos: [
    //         title: '',
    //         id: ''
    //     ]
    // }]

    var courseData = [];
    chapter.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 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('获取数据出错!'); //捕捉错误
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文