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 相关文章推荐
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 NodeJs
nodejs命令行参数处理模块commander使用实例
Sep 17 NodeJs
Windows系统下使用Sublime搭建nodejs环境
Apr 13 NodeJs
nodejs实现bigpipe异步加载页面方案
Jan 26 NodeJs
Nodejs 发送Post请求功能(发短信验证码例子)
Feb 09 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
nodejs调取微信收货地址的方法
Dec 20 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
深入理解NodeJS 多进程和集群
Oct 17 NodeJs
NodeJs实现简单的爬虫功能案例分析
Dec 05 NodeJs
nodejs文件夹深层复制功能
Sep 03 NodeJs
Node.js实现爬取网站图片的示例代码
Apr 04 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中autoload的用法总结
2013/11/08 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
Python常见异常分类与处理方法
2017/06/04 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
python脚本监控Tomcat服务器的方法
2018/07/06 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
深入了解canvas在移动端绘制模糊的问题解决
2019/04/30 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
高职助产应届生自荐信
2013/09/24 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
党员年终个人总结
2015/02/14 职场文书
商业计划书范文
2019/04/24 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书
详解nginx进程锁的实现
2021/06/14 Servers