一、爬虫概念

网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

二、基于 https 模块实现爬取拉勾网职位分类信息

  1. var https = require('https');
  2. var cheerio = require('cheerio');
  3. var url = 'https://www.lagou.com/';
  4. https.get(url, function(res) {
  5. var html = '';
  6. res.on('data', function(chunk) {
  7. html += chunk;
  8. });
  9. res.on('end', function() {
  10. findMenu(html);
  11. })
  12. })
  13. function findMenu(htmlStr) {
  14. var $ = cheerio.load(htmlStr);
  15. var $menuMain = $('.menu_main');
  16. var result = [];
  17. $menuMain.each(function(i, item) {
  18. var obj = {};
  19. var h2Text = $(item).find('h2').text();
  20. h2Text = h2Text.trim();
  21. obj.name = h2Text;
  22. obj.subName = [];
  23. var $as = $(item).find('a');
  24. $as.each(function(i, item) {
  25. var aText = $(item).text().trim();
  26. obj.subName.push(aText);
  27. })
  28. result.push(obj);
  29. })
  30. console.log(result);
  31. }

三、cheerio 第三方模块

链接

简单理解为是使用在服务器端的 jquery。保留了 jquery 选择器的相关功能,去掉了 DOM 操作功能。

  1. 安装模块
  1. $ npm install cheerio
  1. 引入
  1. const cheerio = require('cheerio')
  1. 装载
  1. const $ = cheerio.load('<h2 class="title">Hello world</h2>')
  1. 使用相应的API