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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

小小代碼,有點(diǎn)意思哈

var http = require('http')

var cheerio = require('cheerio')

var Promise = require('bluebird')

var baseUrl = 'http://idcbgp.cn/learn/'

var videoIds = [348,259,197,134,75]


function filterChapters(html) {

var $ = cheerio.load(html)

var chapters = $('.chapter')

var title = $('.course-infos .path span').text()

// var num =? parseInt($($('.meta-value strong')[3]).text().trim(), 10)

? ? ?var num = 0

// coursesData = {

// title: title,

// number: number,

// videos: [{

// chapterTitle : '',

// videos : [

// ? ? title: '',

// ? ? id: ''

// ]

// }]

// }


? ? var courseData = {

? ? video: [],

? ? num: num,

? ? title: title

? ? }

? ??

? ? 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({

? ? title: videoTitle,

? ? id: id

? ? })

? ? })

? ?

? ? courseData.video.push(chapterData)

? ? })

? ? return courseData

}


function printCourseInfo(coursesData) {

? ? coursesData.forEach(function(courseData){

? ?

? ? console.log('------------------------------------------'+courseData.num + '人學(xué)過(guò) '+ courseData.title +'------------------------------------------'+ '\n' )

? ?

? ? courseData.video.forEach(function(val) {

console.log('############# ' + (val.chapterTitle).replace(/(^\s*)|(\s*$)/g, "") + '############# ')

console.log("\n")

//? ? ? ? ? ? ? ?console.log('\t'+'【 id'+ (val.videos[0].id).replace(/(^\s*)|(\s*$)/g, "")+' 】'+((val.videos)[0].title).replace(/(^\s*)|(\s*$)/g, "") +'\n')

//? ? ? ? ? ? ? ?console.log("-----------------------------------------------------")

? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? val.videos.forEach(function(item){

? ? ? ? ? ? ? ? ? console.log('\t 【 id '+item.id+" 】? ?"+(item.title).replace(/(^\s*)|(\s*$)/g, ""))

? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? })

})

? ? })

}


function getPageAsync(url){

return new Promise(function(resolve, reject){

console.log('正在爬取'+url)

http.get(url, function(res){

var html = ''

res.on('data', function(data) {

html += data

})

res.on('end', function() {

resolve(html)

})?

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

reject(e)

console.log('獲取數(shù)據(jù)失敗');

})



})

}


var fetchCourseArray = []

videoIds.forEach(function(id){

fetchCourseArray.push(getPageAsync(baseUrl + id))

})


Promise

? .all(fetchCourseArray)?

? ? .then(function(pages){

? ? var coursesData = []

? ? pages.forEach(function(html){

? ? var course = filterChapters(html)

? ?

? ? coursesData.push(course)

? ? })

? ?

? ? coursesData.sort(function(a, b){

? ? return a.number < b.number

? ? })

? ?

? ? printCourseInfo(coursesData)

? ? })


正在回答

1 回答

666

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
進(jìn)擊Node.js基礎(chǔ)(二)
  • 參與學(xué)習(xí)       76728    人
  • 解答問(wèn)題       242    個(gè)

本教程帶你攻破 Nodejs,讓 JavaScript流暢運(yùn)行在服務(wù)器端

進(jìn)入課程

小小代碼,有點(diǎn)意思哈

我要回答 關(guān)注問(wèn)題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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