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服务器(10):处理上传图片
Dec 18 NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 NodeJs
Nodejs抓取html页面内容(推荐)
Aug 11 NodeJs
NodeJS使用formidable实现文件上传
Oct 27 NodeJs
NodeJS和BootStrap分页效果的实现代码
Nov 07 NodeJs
nodeJS删除文件方法示例
Dec 25 NodeJs
nodejs个人博客开发第四步 数据模型
Apr 12 NodeJs
nodejs中解决异步嵌套循环和循环嵌套异步的问题
Jul 12 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
nodejs中Express与Koa2对比分析
Feb 06 NodeJs
NodeJS实现自定义流的方法
Aug 01 NodeJs
nodejs初始化init的示例代码
Oct 10 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
星际争霸秘籍
2020/03/04 星际争霸
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
PHP获取MySql新增记录ID值的3种方法
2014/06/24 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
php中的异常和错误浅析
2017/05/03 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
Node.js数据库操作之查询MySQL数据库(二)
2017/03/04 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
python链接Oracle数据库的方法
2015/06/28 Python
python字典多键值及重复键值的使用方法(详解)
2016/10/31 Python
Python heapq使用详解及实例代码
2017/01/25 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
Django中的文件的上传的几种方式
2018/07/23 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
学校办公室主任职责
2013/12/27 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
新党章的学习心得体会
2014/11/07 职场文书
八年级作文之友谊
2019/12/02 职场文书
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android