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 Express框架中处理404页面一个方式
May 28 NodeJs
基于NodeJS的前后端分离的思考与实践(五)多终端适配
Sep 26 NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 NodeJs
详解nodeJS中读写文件方法的区别
Mar 06 NodeJs
nodejs爬虫遇到的乱码问题汇总
Apr 07 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
详解IWinter 一个路由转控制器的 Nodejs 库
Nov 15 NodeJs
使用npm安装最新版本nodejs
Jan 18 NodeJs
nodejs express配置自签名https服务器的方法
May 22 NodeJs
nodejs 如何手动实现服务器
Aug 20 NodeJs
nodejs aes 加解密实例
Oct 10 NodeJs
浅谈JS和Nodejs中的事件驱动
May 05 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实现采集中国天气网未来7天天气
2014/10/15 PHP
php+mysqli数据库连接的两种方式
2015/01/28 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
2017/03/14 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
THINKPHP5分页数据对象处理过程解析
2020/10/28 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
javaScript对象和属性的创建方法
2007/01/15 Javascript
AJAX架构之Dojo篇
2007/04/10 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
python编写Logistic逻辑回归
2020/12/30 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
机关作风整顿个人整改措施2014
2014/09/17 职场文书
民政局个人整改措施
2014/09/24 职场文书
党员个人剖析材料
2014/09/30 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
解析mybatis-plus中的resultMap简单使用
2021/11/23 Java/Android
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript