基于 http 模塊實(shí)現(xiàn)的爬取拉勾網(wǎng)的數(shù)據(jù)
var https = require('https');
var cheerio = require('cheerio');
var url = 'https://www.lagou.com/';
https.get(url, function(res) {
var html = '';
res.on('data', function(chunk) {
html += chunk;
});
res.on('end', function() {
findMenu(html);
})
})
function findMenu(htmlStr) {
var $ = cheerio.load(htmlStr);
var $menuMain = $('.menu_main');
var result = [];
$menuMain.each(function(i, item) {
var obj = {};
var h2Text = $(item).find('h2').text();
h2Text = h2Text.trim();
obj.name = h2Text;
obj.subName = [];
var $as = $(item).find('a');
$as.each(function(i, item) {
var aText = $(item).text().trim();
obj.subName.push(aText);
})
result.push(obj);
})
console.log(result);
}
cheerio 模塊
簡(jiǎn)單理解為是使用在服務(wù)器端的 jquery。保留了 jquery 選擇器的相關(guān)功能,去掉了 DOM 操作功能。
使用步驟:
- 項(xiàng)目中安裝
npm install cheerio --save-dev
- 引入
var cheerio = require('cheerio')
- 裝載
var $ = cheerio.load('<div>我的天,張三真帥</div>');
- 使用相應(yīng)API