nodeJs爬蟲獲取數(shù)據(jù)簡單實(shí)現(xiàn)代碼

字號:


    這篇文章主要為大家詳細(xì)介紹了nodeJs爬蟲獲取數(shù)據(jù)簡單實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下
    本文實(shí)例為大家分享了nodeJs爬蟲獲取數(shù)據(jù)代碼,供大家參考,具體內(nèi)容如下
    var http=require('http');
    var cheerio=require('cheerio');//頁面獲取到的數(shù)據(jù)模塊
    var url='http://www.jcpeixun.com/lesson/1512/';
    function filterData(html){
      /*所要獲取到的目標(biāo)數(shù)組 
    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爬蟲獲取數(shù)據(jù)的相關(guān)代碼,希望對大家的學(xué)習(xí)有所幫助。