1."cheerio",一个nodeJS模块,类似于jquery,可以将html页面的char转换为document文档对象,然后用类似于jquery的方式进行操作DOM 2.编写crawler.js文件 3.在 crawler.js目录下使用如下命令安装cheerio: npm install cheerio4.然后运行 crawler.js
//引进所需模块 var http = require('http') var cheerio = require('cheerio') var url = "http://www.imooc.com/learn/348" //html分析、处理函数;需要安装模块 npm install cheerio function filterChapters(html){ var $ = cheerio.load(html)//加载html //获取所有章数 var chapters = $('.chapter') 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('.J-media-item') var videoTitle = video.text() var id = video.attr('href').split('video/')[1] chapterData.videos.push({ title:videoTitle, id:id }) }) courseData.push(chapterData) }) return courseData } function printCourseInfo(courseData){ courseData.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){ //获取html var html = '' res.on('data',function(data){ html += data }) res.on('end',function(){ //处理html var courseData = filterChapters(html) printCourseInfo(courseData) }) }).on('error',function(){ console.log('获取课程出错!') })
nodejs之爬虫网页的信息
最新推荐文章于 2024-07-26 08:57:17 发布