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 相关文章推荐
golang、python、php、c++、c、java、Nodejs性能对比
Mar 12 NodeJs
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 NodeJs
使用NodeJs 开发微信公众号(三)微信事件交互实例
Mar 02 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
angular2+nodejs实现图片上传功能
Mar 27 NodeJs
nodejs接入阿里大鱼短信验证码的方法
Jul 10 NodeJs
nodeJS进程管理器pm2的使用
Jan 09 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
深入理解nodejs搭建静态服务器(实现命令行)
Feb 05 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 NodeJs
nodejs对项目下所有空文件夹创建gitkeep的方法
Aug 02 NodeJs
NodeJS多种创建WebSocket监听的方式(三种)
Jun 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
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
php以post形式发送xml的方法
2014/11/04 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
javascript 学习之旅 (3)
2009/02/05 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
Javascript中的String对象详谈
2014/03/03 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Python实现完整的事务操作示例
2017/06/20 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
Django rest framework实现分页的示例
2018/05/24 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
爱普生美国官网:Epson美国
2018/11/05 全球购物
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
php 原生分页
2021/04/01 PHP
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL
python中Matplotlib绘制直线的实例代码
2021/07/04 Python
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python
浅析JavaScript中的变量提升
2022/06/01 Javascript