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全栈框架StrongLoop推荐
Nov 09 NodeJs
nodejs中操作mysql数据库示例
Dec 20 NodeJs
nodejs实现获取当前url地址及url各种参数值
Jun 25 NodeJs
NodeJs的优势和适合开发的程序
Aug 14 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
详解NODEJS基于FFMPEG视频推流测试
Nov 17 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
nodejs微信扫码支付功能实现
Feb 17 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 NodeJs
nodejs脚本centos开机启动实操方法
Mar 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实现分页的一个示例
2006/10/09 PHP
PHP 动态随机生成验证码类代码
2010/04/09 PHP
分享27个jQuery 表单插件集合推荐
2011/04/25 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
2016/05/12 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
python内置数据类型之列表操作
2018/11/12 Python
windows下numpy下载与安装图文教程
2019/04/02 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
Python @property使用方法解析
2019/09/17 Python
python实现猜数字游戏
2020/03/25 Python
python基于opencv检测程序运行效率
2019/12/28 Python
聊聊python中的循环遍历
2020/09/07 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
业务经理的岗位职责
2013/11/16 职场文书
生物科学专业个人求职信范文
2013/12/05 职场文书
《藏戏》教学反思
2014/02/11 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
教育见习报告范文
2014/11/03 职场文书
就业意向书范本
2015/05/11 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python