nodeJs爬虫获取数据简单实现代码


Posted in NodeJs onMarch 29, 2016

本文实例为大家分享了nodeJs爬虫获取数据代码,供大家参考,具体内容如下

var http=require('http');
var cheerio=require('cheerio');//页面获取到的数据模块
var url='http://www.jcpeixun.com/lesson/1512/';
function filterData(html){
  /*所要获取到的目标数组 
 var courseData=[{
    chapterTitle:"",
    videosData:{
      videoTitle:title,
      videoId:id,
      videoPrice:price
    }
  }] */
  var $=cheerio.load(html);
  var courseData=[];
  var chapters=$(".list-collapse");
  chapters.each(function(item){
    var chapterTitle=$(this).find(".collapse-head").find("label").text();
    var videos=$(this).find(".listview5").children("li");
    var chaptersData={
      chaptersTitle:chapterTitle,
      videosData:[]
    }
    videos.each(function(item){
      var videoTitle=$(this).find(".ml10").attr('data-lesson-name');
      var videoId=$(this).find(".ml10").attr('data-lesson-id');
      var vadeoPrice=$(this).find(".colblue").text();
      chaptersData.videosData.push({
        title:videoTitle,
        id:videoId,
        price:vadeoPrice
      })
    })
    courseData.push(chaptersData) 
  })
  return courseData
}
function printCourseInfo(courseData){
  courseData.forEach(function(item){
    console.log(item.chaptersTitle+'\n');
    item.videosData.forEach(function(item){
      console.log(item.title+'【'+item.id+'】'+item.price+'\n')
    })
  })
}
http.get(url,function(res){
  html="";
  res.on("data",function(data){
    html+=data
  })
  res.on('end',function(){
    var courseData=filterData(html);
    printCourseInfo(courseData)
  })
})

效果图:

nodeJs爬虫获取数据简单实现代码

以上就是nodeJs爬虫获取数据的相关代码,希望对大家的学习有所帮助。

NodeJs 相关文章推荐
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
Dec 18 NodeJs
Nodejs爬虫进阶教程之异步并发控制
Feb 15 NodeJs
Nodejs抓取html页面内容(推荐)
Aug 11 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
基于Nodejs利用socket.io实现多人聊天室
Feb 22 NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 NodeJs
nodejs处理图片的中间件node-images详解
May 08 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
Nodejs调用WebService的示例代码
Sep 29 NodeJs
nodejs连接mysql数据库及基本知识点详解
Mar 20 NodeJs
Nodejs核心模块之net和http的使用详解
Apr 02 NodeJs
nodejs实现用户登录路由功能
May 22 NodeJs
Nodejs如何搭建Web服务器
Mar 28 #NodeJs
Nodejs中的this详解
Mar 26 #NodeJs
快速掌握Node.js之Window下配置NodeJs环境
Mar 21 #NodeJs
Nodejs如何复制文件
Mar 09 #NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 #NodeJs
nodejs 中模拟实现 emmiter 自定义事件
Feb 22 #NodeJs
nodejs修复ipa处理过的png图片
Feb 17 #NodeJs
You might like
那些年一起学习的PHP(三)
2012/03/22 PHP
深入解析php中的foreach问题
2013/06/30 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
javascript标签在页面中的位置探讨
2013/04/11 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
Javascript验证方法大全
2015/09/21 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
javascript和jquery实现用户登录验证
2016/05/04 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
JS实现轮播图效果
2020/01/11 Javascript
JS+CSS实现炫酷光感效果
2020/09/05 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
python 生成图形验证码的方法示例
2018/11/11 Python
Python之变量类型和if判断方式
2020/05/05 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
聚网科技C++面试笔试题
2015/09/01 面试题
传播学专业毕业生自荐信
2013/11/04 职场文书
董事长职责范文
2013/11/08 职场文书
安全检查与奖惩制度
2014/01/23 职场文书
上课迟到检讨书
2015/05/06 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript
python编写五子棋游戏
2021/05/25 Python
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android
python基础之类属性和实例属性
2021/10/24 Python