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使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 NodeJs
nodejs实现遍历文件夹并统计文件大小
May 28 NodeJs
初探nodeJS
Jan 24 NodeJs
Nodejs实现短信验证码功能
Feb 09 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
nodejs个人博客开发第七步 后台登陆
Apr 12 NodeJs
Express+Nodejs 下的登录拦截实现代码
Jul 01 NodeJs
NodeJS使用七牛云存储上传文件的方法
Jul 24 NodeJs
NodeJS实现不可逆加密与密码密文保存的方法
Mar 16 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
nodejs提示:cross-device link not permitted, rename错误的解决方法
Jun 10 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
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
浅析Javascript使用include/require
2013/11/13 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
javascript生成大小写字母
2015/07/03 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
python时间日期函数与利用pandas进行时间序列处理详解
2018/03/13 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
用Django写天气预报查询网站
2018/10/21 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
利用SVG和CSS3来实现一个炫酷的边框动画
2015/07/22 HTML / CSS
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
《画风》教学反思
2014/04/16 职场文书
国庆节演讲稿
2014/05/27 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
创业计划书介绍
2019/04/24 职场文书
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python
Python使用MapReduce进行简单的销售统计
2022/04/22 Python