内容简介:什么是爬虫呢,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。为什么选用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地址
参考
以上所述就是小编给大家介绍的《node.js来爬取智联全国的竞争最激烈的前十岗位》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++Templates中文版
David Vandevoorde、Nicolai M.Josuttis / 陈伟柱 / 人民邮电出版社 / 2008-2 / 69.00元
本书是C++模板编程的完全指南,旨在通过基本概念、常用技巧和应用实例3方面的有用资料,为读者打下C++模板知识的坚实基础。 全书共22章。第1章全面介绍了本书的内容结构和相关情况。第1部分(第2~7章)以教程的风格介绍了模板的基本概念,第2部分(第8~13章)阐述了模板的语言细节,第3部分(第14~18章)介绍了C++模板所支持的基本设计技术,第4部分(第19~22章)深入探讨了各种使用模板......一起来看看 《C++Templates中文版》 这本书的介绍吧!