node.js来爬取智联全国的合作最猛烈的前十岗亭

node爬虫

什么是爬虫呢,是一种根据肯定的划定规矩,自动地抓取万维网信息的顺序或许剧本。为何选用node呢,由于我是前端,固然要用js完成。

项目剖析

爬取http://top.zhaopin.com 智联网站上的全国的合作最猛烈三个月内前十的岗亭。不需要定时爬取。运用request和cheerio模块。node版本7.6.0、npm版本4.1.2

装置

npm install request cheerio -S

request 模块是一个简化的HTTP客户端。
cheerio 模块专为服务器设想的中心jQuery的疾速,天真和精益的完成。能够把爬到的内容和jQuery一样运用。

中心代码

// app.js
const request = require('request');
const cheerio = require('cheerio');

// 提议要求
request('http://top.zhaopin.com', (error, response, body) => {
    if(error){
        console.error(error);
    }
    let json = {};
    // 获取到的内容放到cheerio模块
    const $ = cheerio.load(body);

    // jQuery 遍历  #hotJobTop .topList li  是经由过程http://top.zhaopin.com 剖析页面构造获得的
    $('#hotJobTop .topList li').each(function (index) {
        let obj = json[index] = {};
        obj.name = $(this).find('.title').text().trim();
        obj.num = $(this).find('.paddingR10').text().trim();
    });

    // 打印数据
    console.log(json);
});

实行 node app.js 就会获得以下效果。

[ { name: 'Java开辟工程师', num: '340538人/天' },
  { name: '软件工程师', num: '220873人/天' },
  { name: '贩卖代表', num: '175053人/天' },
  { name: '管帐/管帐师', num: '168225人/天' },
  { name: '行政专员/助理', num: '150913人/天' },
  { name: 'WEB前端开辟', num: '140979人/天' },
  { name: '助理/秘书/文员', num: '139098人/天' },
  { name: '软件测试', num: '136399人/天' },
  { name: '人力资源专员/助理', num: '123482人/天' },
  { name: '用户界面(UI)设想', num: '107505人/天' } ]

一个简朴的爬虫就写好了,看看前十有无你处置的岗亭吧!

我的博客和github地点

http://blog.langpz.com

https://github.com/lanpangzhi

参考

https://github.com/request/request

https://github.com/cheeriojs/cheerio

    原文作者:lanpangzhi
    原文地址: https://segmentfault.com/a/1190000019380025
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞