第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

HTTP小爬蟲(在原視頻代碼的基礎(chǔ)上加以修改完善了)

標(biāo)簽:
Node.js JavaScript

运行效果图:
运行效果图

代码

/**
 * @file http小爬虫
 * @author <a href="www.llms.com">hwj</a>
 * @version 1.0
 */

/**
 * 获取http模块
 */
var http = require('http');
/**
 * 获取cheerio模块
 */
var cheerio = require('./node_modules/cheerio');
/**
 * 解析的目标网页
 */
var url = 'http://idcbgp.cn/learn/348';

/**
 * 
 * 将爬取到的网页内容进行过滤调整
 * @param {string} html
 * @returns {{chapterTitle:string,videos:[{title:string,time:string,id:string}]}} 返回过滤到的对象
 */
function filterChapters(html) {
    // cheerio加载html
    var $ = cheerio.load(html);
    var chapters = $('.chapter');

    var courseData = [];
    var chapter, Title, videos, chapterData;
    var videos, videoTitle, id;
    chapters.each(function (value) {
        chapter = $(this);
        /** nodeType返回值说明
         * 1-ELEMENT 
         * 2-ATTRIBUTE
         * 3-TEXT
         * 4-CDATA
         * 5-ENTITY REFERENCE
         * 6-ENTITY
         * 7-PI (processing instruction)
         * 8-COMMENT
         * 9-DOCUMENT
         * 10-DOCUMENT TYPE
         * 11-DOCUMENT FRAGMENT
         * 12-NOTATION
         */
        // 过滤不提取子类中的text
        Title = chapter.find('strong').contents().filter(function () {
            return this.nodeType == 3;
        }).text().trim();

        chapterData = {
            "chapterTitle": Title,
            "videos": []
        }

        videos = chapter.find('.video').children('li');
        videos.each(function (value) {
            video = $(this).find('.J-media-item');

            // 这个title包含了video的title和这个video的时间,两者用换行符分割
            videoTitles = video.contents().filter(function () {
                return this.nodeType == 3;
            }).text().trim().split('\n');

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

            chapterData.videos.push({
                "title": videoTitles[0].trim(),
                "time": videoTitles[1].trim(),
                "id": id
            });
        });
        courseData.push(chapterData);
    });
    return courseData;
}

/**
 * 打印课程信息
 * @param {{chapterTitle:string,videos:[{title:string,time:string,id:string}]}} courseData 课程信息
 */
function printCoursrInfo(courseData) {
    var courseMessage = '';
    courseData.forEach(function (value, index) {
        courseMessage += value.chapterTitle + '\n';

        value.videos.forEach(function (value, index) {
            courseMessage += '[' + value.id + '] ' + value.title + ' time:' + value.time + '\n';
        });

        courseMessage += '\n';
    });

    console.log(courseMessage);
}

http.get(url, function (res) {
    var html = '';

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

    res.on('end', function () {
        var courseData = filterChapters(html);
        printCoursrInfo(courseData);
    });

}).on('error', function () {
    console.log('爬取失败!!!!');
});
點擊查看更多內(nèi)容
19人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消