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
Nov 08 NodeJs
nodejs爬虫抓取数据之编码问题
Jul 03 NodeJs
NodeJs读取JSON文件格式化时的注意事项
Sep 25 NodeJs
windows 下安装nodejs 环境变量设置
Feb 02 NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
详解Windows下安装Nodejs步骤
May 18 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
nodejs中安装ghost出错的原因及解决方法
Oct 23 NodeJs
nodejs多版本管理总结
Apr 03 NodeJs
NodeJS实现自定义流的方法
Aug 01 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 NodeJs
nodejs文件夹深层复制功能
Sep 03 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
[EPIC] Larva vs Flash ZvT @ Crossing Field [2017-10-09]
2020/03/17 星际争霸
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
vue实现简单图片上传
2020/06/30 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
ptyhon实现sitemap生成示例
2014/03/30 Python
python自定义类并使用的方法
2015/05/07 Python
python统计文本文件内单词数量的方法
2015/05/30 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
PyQt编程之如何在屏幕中央显示窗体的实例
2019/06/18 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
2020/03/09 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
如何判断计算机可能已经中马
2013/03/22 面试题
竞职演讲稿范文
2014/01/11 职场文书
乳制品整治工作方案
2014/05/29 职场文书
医院志愿者活动总结
2015/05/06 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
MySQL中order by的使用详情
2021/11/17 MySQL