node--http小爬蟲&事件模塊

//http小爬蟲
var http=require('http')
var cheerio=require('cheerio')
var url='http://www.imooc.com/learn/348'
function filter(html){
    var $=cheerio.load(html);
    var chapters=$('.mod-chapters')
    var courseData=[]
    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('.stydyvideo')
            var videoTitle=video.text()

            chapterData.videos.push({
                title:videoTitle,

            })
        })
        courseData.push(chapterData)
    })
  return courseData
}
http.get(url,function(res){
    var html=''
    res.on('data',function(data){
        html+=data
    })
    res.on('end',function(){
       var data=filter(html);
        console.log(data)
    })
}).on('error',function(){

})





/**
 * Created by Administrator on 2017-07-03.
 */
//事件模塊小插曲   對一個事件不要超過10個監聽器
var EventEmitter=require('events').EventEmitter
var life=new EventEmitter();
life.on('ddd',function(){
    console.log('55555555')
})
life.on('ddd',function(){
    console.log('6666')
})
function water(){

}
life.listeners('ddd').length//查看事件的個數
EventEmitter.listenerCount(life,'ddd')
//life.removeListener('ddd',water)//刪除事件監聽
life.emit('ddd')//事件觸發
//刪除全部的監聽事件
life.removeAllListeners()
相關文章
相關標籤/搜索