node初步二 小爬虫

小爬拉勾网 获取想要的信息;

一、分三步 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

node初步二 小爬虫

上一篇:P1282 多米诺骨牌 (背包变形问题)


下一篇:【01背包变形】Robberies HDU 2955