node.js来爬取智联全国的竞争最激烈的前十岗位

栏目: Node.js · 发布时间: 6年前

内容简介:什么是爬虫呢,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。为什么选用node呢,因为我是前端,当然要用js实现。爬取request 模块是一个简化的HTTP客户端。

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


以上所述就是小编给大家介绍的《node.js来爬取智联全国的竞争最激烈的前十岗位》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Development Recipes

Web Development Recipes

Brian P. Hogan、Chris Warren、Mike Weber、Chris Johnson、Aaron Godin / Pragmatic Bookshelf / 2012-1-22 / USD 35.00

You'll see a full spectrum of cutting-edge web development techniques, from UI and eye candy recipes to solutions for data analysis, testing, and web hosting. Make buttons and content stand out with s......一起来看看 《Web Development Recipes》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码