nodeJs爬虫获取数据简单实现代码

 更新时间:2016年03月29日 17:27:29   作者:Jone_chen  
这篇文章主要为大家详细介绍了nodeJs爬虫获取数据简单实现代码,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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爬虫获取数据的相关代码,希望对大家的学习有所帮助。

相关文章

  • Node.js readline 逐行读取、写入文件内容的示例

    Node.js readline 逐行读取、写入文件内容的示例

    本篇文章主要介绍了Node.js readline逐行读取、写入文件内容的示例,运用readline逐行读取的两种实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 手把手教你更优雅的修改node_modules里的代码

    手把手教你更优雅的修改node_modules里的代码

    这篇文章主要给大家介绍了关于如何更优雅的修改node_modules里的代码的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • nodejs实现HTTPS发起POST请求

    nodejs实现HTTPS发起POST请求

    这篇文章主要介绍了nodejs实现HTTPS发起POST请求的实例代码,非常的简单实用,有需要的小伙伴可以参考下。
    2015-04-04
  • NodeJS和浏览器中this关键字的不同之处

    NodeJS和浏览器中this关键字的不同之处

    这篇文章主要给大家介绍了关于NodeJS和浏览器中this关键字不同的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 详解node Async/Await 更好的异步编程解决方案

    详解node Async/Await 更好的异步编程解决方案

    这篇文章主要介绍了详解Async/Await 更好的异步编程解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • NodeJS实现自定义流的方法

    NodeJS实现自定义流的方法

    在 NodeJS 中要想实现自定义流,需要依赖模块 stream ,直接引入,不需下载,所有种类的流都是继承这个模块内部提供的对应不同种类的类来实现的。接下来通过本文给大家介绍NodeJS实现自定义流的方法,一起看看吧
    2018-08-08
  • node中Stream流的详细介绍

    node中Stream流的详细介绍

    这篇文章主要介绍了node中Stream的详细介绍,流是一个数据传输手段,是端到端信息交换的一种方式,而且是有顺序的,是逐块读取数据、处理内容,用于顺序读取输入或写入输出
    2022-09-09
  • Nodejs全局安装和本地安装的不同之处

    Nodejs全局安装和本地安装的不同之处

    这篇文章主要介绍了Nodejs全局安装和本地安装的不同之处的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Node.js插件的正确编写方式

    Node.js插件的正确编写方式

    正如Node.js在官方说明文档中所言,插件是以动态方式进行链接的共享式对象,能够将JavaScript代码与C/C++库接驳起来。这意味着我们可以引用任何来自C/C++库中的内容,并通过创建插件的方式将其纳入到Node.js当中。
    2014-08-08
  • 让nodeJS支持ES6的词法----babel的安装和使用方法

    让nodeJS支持ES6的词法----babel的安装和使用方法

    这篇文章主要介绍了让nodeJS支持ES6的词法----babel的安装和使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07

最新评论