06|06 - 基于 http 模块实现的小爬虫
基于 http 模块实现的爬取拉勾网的数据
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 模块
简单理解为是使用在服务器端的 jquery。保留了 jquery 选择器的相关功能,去掉了 DOM 操作功能。【06|06 - 基于 http 模块实现的小爬虫】使用步骤:
- 项目中安装
npm install cheerio --save-dev
- 引入
var cheerio = require('cheerio')
- 装载
var $ = cheerio.load('我的天,张三真帅');
- 使用相应API
推荐阅读
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 画解算法(1.|画解算法:1. 两数之和)
- 基于|基于 antd 风格的 element-table + pagination 的二次封装
- SpringBoot调用公共模块的自定义注解失效的解决
- Node.js中readline模块实现终端输入
- python自定义封装带颜色的logging模块
- 解决SpringBoot引用别的模块无法注入的问题
- ts泛型使用举例
- Python(pathlib模块)
- Apache多路复用模块(MPMs)介绍