什麼是爬蟲呢,是一種按照必定的規則,自動地抓取萬維網信息的程序或者腳本。爲何選用node呢,由於我是前端,固然要用js實現。前端
爬取http://top.zhaopin.com 智聯網站上的全國的競爭最激烈三個月內前十的崗位。不須要定時爬取。使用request和cheerio模塊。node版本7.6.0、npm版本4.1.2node
npm install request cheerio -S
request 模塊是一個簡化的HTTP客戶端。
cheerio 模塊專爲服務器設計的核心jQuery的快速,靈活和精益的實現。能夠把爬到的內容和jQuery同樣使用。git
// 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 就會獲得以下結果。github
[ { 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人/天' } ]
一個簡單的爬蟲就寫好了,看看前十有沒有你從事的崗位吧!npm
https://github.com/lanpangzhi服務器