Node.JS 學(xué)習(xí) 來(lái)自課程進(jìn)擊Node.js基礎(chǔ)(一)第5-10 Http小爬蟲(chóng)
標(biāo)簽:
JavaScript
var http = require('http'); var url = 'http://idcbgp.cn/learn/348'; var cheerio = require('cheerio'); function filterChapters(html) { var data = cheerio.load(html); var chapters = data('.chapter'); // [{ // chapterTitle: '', // videos: [ // title: '', // id: '' // ] // }] var courseDate = []; chapters.each(function(item){ var chapter =data(this); var chapterTitle = chapter.find('h3').text(); var videos = chapter.find('.video').children('li'); var chapterData = { chapterTitle: chapterTitle, videos:[] } videos.each(function(item){ var video = data(this).find('.J-media-item') var videoTitle = trimLeft(video.text().split('(')[0]); var id = video.attr('href').split('video/')[1] chapterData.videos.push({ title: videoTitle, id: id }) }) courseDate.push(chapterData) }) return courseDate } //去除左边空格 function trimLeft(s){ if(s == null) { return ""; } var whitespace = new String(" \t\n\r"); var str = new String(s); if (whitespace.indexOf(str.charAt(0)) != -1) { var j=0, i = str.length; while (j < i && whitespace.indexOf(str.charAt(j)) != -1){ j++; } str = str.substring(j, i); } return str; } function printCourseInfo(courseDate){ courseDate.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 courseDate = filterChapters(html) printCourseInfo(courseDate); }).on('error', function () { console.log("获取课程错误") }) })
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦