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 模块开发及发布详解分享
Mar 07 NodeJs
浅谈Nodejs观察者模式
Oct 13 NodeJs
你一定会收藏的Nodejs代码片段
Feb 04 NodeJs
nodejs爬虫遇到的乱码问题汇总
Apr 07 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
Express+Nodejs 下的登录拦截实现代码
Jul 01 NodeJs
nodejs构建本地web测试服务器 如何解决访问静态资源问题
Jul 14 NodeJs
nodejs实现用户登录路由功能
May 22 NodeJs
NodeJs crypto加密制作token的实现代码
Nov 15 NodeJs
nodejs+express最简易的连接数据库的方法
Dec 23 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中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
PHP导航下拉菜单的实现如此简单
2013/09/22 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
javascript加号"+"的二义性说明
2013/03/04 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
Jquery实现自定义窗口随意的拖拽
2014/03/12 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
js实现简单计算器
2015/11/22 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
Python之py2exe打包工具详解
2017/06/14 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
《宿建德江》教学反思
2014/04/23 职场文书
活动总结怎么写
2014/04/28 职场文书
校外活动方案
2014/08/28 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
学困生转化工作总结
2015/08/13 职场文书
Python 如何实现文件自动去重
2021/06/02 Python
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android
mysql sock文件存储了什么信息
2022/07/15 MySQL