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和PhantomJS抓取网站页面信息以及网站截图
Nov 18 NodeJs
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
Dec 18 NodeJs
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
Aug 21 NodeJs
Nodejs爬虫进阶教程之异步并发控制
Feb 15 NodeJs
Nodejs进阶:基于express+multer的文件上传实例
Nov 21 NodeJs
nodejs redis 发布订阅机制封装实现方法及实例代码
Dec 15 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
nodejs中模块定义实例详解
Mar 18 NodeJs
详解nodejs微信公众号开发——3.封装消息响应模块
Apr 10 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
nodejs制作爬虫实现批量下载图片
May 19 NodeJs
详解NodeJs项目 CentOs linux服务器线上部署
Sep 16 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网站建设的流程与步骤分享
2015/09/25 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
Python中的with...as用法介绍
2015/05/28 Python
Python中atexit模块的基本使用示例
2015/07/08 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
python如何随机生成高强度密码
2020/08/19 Python
详解如何修改python中字典的键和值
2020/09/29 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
幼儿园亲子活动方案
2014/01/29 职场文书
考试诚信承诺书
2014/05/23 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
夫妻分居协议书范本
2014/11/28 职场文书
先进班集体申报材料
2014/12/26 职场文书
中秋客户感谢信
2015/01/22 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android