美文网首页
nodejs爬虫

nodejs爬虫

作者: 宋song一 | 来源:发表于2020-01-06 17:47 被阅读0次

    一、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

    相关文章

      网友评论

          本文标题:nodejs爬虫

          本文链接:https://www.haomeiwen.com/subject/kuwkactx.html