小爬拉勾网 获取想要的信息;
一、分三步 1 获得数据 2 处理数据 3展示数据
二 、代码 :创建文件reptile.js;写入
var http=require('http'); var cheerio = require("cheerio"); var url=require('url'); var url='http://www.lagou.com/zhaopin/Node.js/?labelWords=label'; var htmldata=[] function filechuli(data){ /*[ { type:"",//类型 name:'', Introduction:'',//简介 requirements:'',//要求 address:'',//地址 time:'', welfare:'',//福利 salary:''//薪水 url:""网络地址// } ]*/ var $ = cheerio.load(data); var li=$(".con_list_item"); li.each(function(){ var obj={}; obj.type=$(this).find("h2").text(); obj.name=$(this).attr('data-company'); obj.Introduction=$(this).find('.industry').text(); obj.requirements=$(this).find('.p_bot').find(".li_b_l").text(); obj.address=$(this).find(".add").find("em").text(); obj.time=$(this).find('.format-time').text(); obj.welfare=$(this).find('.list_item_bot').find('.li_b_l').text(); obj.salary=$(this).find('.money').text(); obj.url=$(this).find(".position_link").attr("href"); htmldata.push(obj); }); start(); }; function start(){ function onRequest(request,response){ response.writeHead(,{'Content-Type':'text/plain; charset=utf-8'}); response.write(JSON.stringify(htmldata)); response.end();//响应结束 } http.createServer(onRequest).listen(); console.log("服务器启动完成"); } http.get(url,function(res){ var html=''; res.on('data',function(data){ html+=data; }); res.on('end',function(){ filechuli(html); //console.log(html); }); });
三 分析:
1、使用cheerio模块 npm i cheerio 它是类似于JQ的服务器端的工具;
2、进入文件夹,然后node reptile.js;
3、访问 localhost:9999