node--http小爬虫&事件模块
Posted 浩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()
以上是关于node--http小爬虫&事件模块的主要内容,如果未能解决你的问题,请参考以下文章