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

运行结果为空

var http=require('http')
var cheerio=require('cheerio')
var url="http://www.imooc.com/learn/348"
 
 function filterChapter(html){
 	var $=cheerio.load(html)
 	var chapter=$('.learnchapter')

 	// [{
 	// 	chapterTitle:'',
 	// 	video:[
 	// 	    title:''
 	// 	    id:''
 	// 	]
 	// }]
 	
 	var courseData=[]

 	chapter.each(function(){
 		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.video.push({
 				title:videoTitle,
 				id:id
 			})
 		})

 		courseData.push(chapterData)
 	}) 
 	return courseData
 }

 function printCourseInfo(courseData){
 	courseData.forEach(function(){
 		var chapterTitle=item.chapterTitle
 		console.log(chapterTitle+'\n')

 		item.video.forEach(function(){
 			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=filterChapter(html)

	printCourseInfo(courseData)
})
 }).on('error',function(){
 	console.log('获取课程数据失败')
 })

为啥我的运行出来结果是空的,麻烦帮我看一下

正在回答

2 回答

老铁,下次认真点



var http=require('http')
var cheerio=require('cheerio')
var url="http://www.imooc.com/learn/348"
 
 function filterChapter(html){
     
   var $=cheerio.load(html)
   var chapter=$('.chapter')//learnchapter
 
   // [{
   //     chapterTitle:'',
   //     video:[
   //         title:''
   //         id:''
   //     ]
   // }]
    
   var courseData=[]
   chapter.each(function(){
       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') //studyvideo ==> J-media-item
           var videoTitle=video.text()
           var id=video.attr('href').split('video/')[1]
 
           chapterData.videos.push({   //video  ==> videos
               title:videoTitle,
               id:id
           })
       })
 
       courseData.push(chapterData)
   })
   return courseData
 }
 
 function printCourseInfo(courseData){
   courseData.forEach(function(item){   //item ==> item
       var chapterTitle=item.chapterTitle
       console.log(chapterTitle+'\n')
 
       item.videos.forEach(function(item){  //videos == videos
           console.log('  【'+item.id+' 】' +item.title+'\n')
       })
   })
 }
 
 http.get(url,function(res){
 
 var html=''
 
 res.on('data', function(data){
   html+=data
 })
 
res.on('end',function(){
    var courseData=filterChapter(html)
 
    printCourseInfo(courseData)
})
 }).on('error',function(){
   console.log('获取课程数据失败')
 })

3 回复 有任何疑惑可以回复我~
#1

前端小菜狗 提问者

非常感谢!
2017-12-04 回复 有任何疑惑可以回复我~

感谢!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(一)
  • 参与学习       219397    人
  • 解答问题       896    个

本视频教程带你揭开Node.js的面纱,带你走进一个全新世界

进入课程

运行结果为空

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信