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服务器(2):nodejs服务器的构成分析
Dec 18 NodeJs
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
Jan 01 NodeJs
用nodejs的实现原理和搭建服务器(动态)
Aug 10 NodeJs
详解nodejs express下使用redis管理session
Apr 24 NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
Jan 12 NodeJs
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
Dec 06 NodeJs
详解nodejs 开发企业微信第三方应用入门教程
Mar 12 NodeJs
搭建一个nodejs脚手架的方法步骤
Jun 28 NodeJs
nodejs二进制与Buffer的介绍与使用
Jul 11 NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 NodeJs
分享node.js实现简单登录注册的具体代码
Apr 26 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/02/08 PHP
php 使用array函数实现分页
2015/02/13 PHP
PHP.vs.JAVA
2016/04/29 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
jqgrid 简单学习笔记
2011/05/03 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
jquery.cookie.js的介绍与使用方法
2017/02/09 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
JavaScript模块模式实例详解
2017/10/25 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
vue实现动态按钮功能
2019/05/13 Javascript
跟老齐学Python之for循环语句
2014/10/02 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
分享6个隐藏的python功能
2017/12/07 Python
python+VTK环境搭建及第一个简单程序代码
2017/12/13 Python
Python图像处理库PIL的ImageDraw模块介绍详解
2020/02/26 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
美国批发供应商:Kole Imports
2019/04/10 全球购物
幼儿园秋游活动方案
2014/01/21 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
办公室规章制度范本
2015/08/04 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
python超详细实现完整学生成绩管理系统
2022/03/17 Python