爬虫

一、Puppeteer

Puppeteer 提供了一系列的 API,可以在无 UI 的情况下调用 Chrome 的各种功能,适用于爬虫、自动化处理等各种情景
文档
中文api文档
英文api文档

// Node:使用Puppeteer完成一次复杂的爬虫(有错误)

玩玩puppeteer,实现一个小‘爬虫’

Puppeteer 初探
Puppeteer的入门教程和实践
爬虫
puppeteer爬虫

Rize文档Rize 是一个提供顶层的、流畅并且可以链式调用的 API 的库,它能让您简单地使用 puppeteer。
轮子:一个简单的node爬虫踩坑之路
Node.js爬取妹子图

二、Node Crawler

http://nodecrawler.org/
中文文档

Node Crawler 使用说明
https://github.com/755966092/node-crawler-yiche/blob/master/crawler/yiche.js
node-crawler 异步 Promise 和 Promise.all 实现

var Crawler = require("crawler");
const c = new Crawler({
  maxConnections : 10
});

// 所有爬虫链接
const urls = ['https://cn.bing.com/', 'https://cn.bing.com/'];

let promiseList = [];
urls.forEach(v => {
  promiseList.push(spiderItem(v));
})

// 使用Promise.all
Promise.all(promiseList).then(ress => {
  // 所有爬虫链接爬虫完成时调用
  console.log(ress)
})

function spiderItem(url) {
  return new Promise((resolve, reject) => {
    c.queue([{
      uri: url,
      jQuery: true,
      callback: function (error, res, done) {
        if (error) {
          reject(error);
        } else {
          resolve(res)
        }
        done();
      }
    }]);
  })
}

NodeJS插件Crawler参数手册

crawler.queue({
        uri: 'https://www.huobiinfo.com/flash/',  
        headers: {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'},
})

查询浏览器的user-agent?

  1. 在浏览器的地址栏输入:
    javascript:alert(navigator.userAgent)

WebSocket

你可能感兴趣的:(爬虫)