zoukankan      html  css  js  c++  java
  • 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+' '); item.videosData.forEach(function(item){ console.log(item.title+'【'+item.id+'】'+item.price+' ') }) }) } http.get(url,function(res){ html=""; res.on("data",function(data){ html+=data }) res.on('end',function(){ var courseData=filterData(html); printCourseInfo(courseData) }) })

    打开CMD,进行node环境,运行js,可以看到已经获取到了数据;

  • 相关阅读:
    模块化编程
    flex 弹性布局
    作用域与作用域链
    深入解读JavaScript面向对象编程实践
    javascript Null、Undefined 、NaN的联系与区别
    跨域常见解决方案
    Reverse Pairs
    315. Count of Smaller Numbers After Self
    2. Add Two Numbers
    657. Judge Route Circle
  • 原文地址:https://www.cnblogs.com/jone-chen/p/5051130.html
Copyright © 2011-2022 走看看