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教程之异步I/O
Nov 21 NodeJs
Windows 系统下设置Nodejs NPM全局路径
Apr 26 NodeJs
详解nodejs异步I/O和事件循环
Jun 07 NodeJs
让nodeJS支持ES6的词法----babel的安装和使用方法
Jul 31 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
关于Mac下安装nodejs、npm和cnpm的教程
Apr 11 NodeJs
Nodejs异步回调之异常处理实例分析
Jun 22 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
nodejs脚本centos开机启动实操方法
Mar 04 NodeJs
Nodejs环境实现socket通信过程解析
Jul 03 NodeJs
nodejs使用Sequelize框架操作数据库的实现
Oct 21 NodeJs
Nodejs + sequelize 实现增删改查操作
Nov 07 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 简易输出CSV表格文件的方法详解
2013/06/20 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
php 中的closure用法详解
2017/06/12 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
JS实现兼容性较好的随屏滚动效果
2015/11/09 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
Python打包可执行文件的方法详解
2016/09/19 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
python Zmail模块简介与使用示例
2020/12/19 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
写给学生的新学期寄语
2014/01/18 职场文书
教师工作失职检讨书
2014/09/18 职场文书
乡镇干部个人对照检查材料思想汇报(原创篇)
2014/09/28 职场文书
初中学生操行评语
2014/12/26 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
患者身份识别制度
2015/08/06 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
给校长的建议书范文
2015/09/14 职场文书
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技