javascript 使用Headless-chorme-crawler(puppeteer)抓取并截取网站截图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 使用Headless-chorme-crawler(puppeteer)抓取并截取网站截图相关的知识,希望对你有一定的参考价值。

const HCCrawler = require('headless-chrome-crawler');
const CSVExporter = require('headless-chrome-crawler/exporter/csv');

const DOMAIN = 'example.com';
const TIMESTAMP = new Date().getTime();
const FILE = './tmp/result-' + TIMESTAMP + '.csv';
const URL = 'https://' + DOMAIN;

const exporter = new CSVExporter({
  file: FILE,
  fields: ['response.url', 'response.status', 'links.length'],
});

HCCrawler.launch({
  maxDepth: 2,
  exporter,
   preRequest: (options => {
    // if (!options.saveAs) return false; // Skip the request by returning false
    // console.log(options)
    let splitted_url = options.url.split('/')
    let page = splitted_url[splitted_url.length - 1];
    if(!page) {
      page = 'HOME-' + Math.floor(Math.random());
    }
    options.screenshot = { path: './tmp/IMG-' + splitted_url[2] + '-' + page + '-' + TIMESTAMP + '.png',
    fullPage: true};
    return true;
  }),
})
  .then(crawler => {
    crawler.queue({url: URL});
    crawler.onIdle()
      .then(() => crawler.close());
  });

以上是关于javascript 使用Headless-chorme-crawler(puppeteer)抓取并截取网站截图的主要内容,如果未能解决你的问题,请参考以下文章

使用 javascript 确定 javascript 中的堆栈深度

仅使用javascript检查由javascript创建的元素是不是存在[重复]

JavaScript(js)基础

javascript 使用

为啥使用 `javascript:void(0)` 而不是 `javascript:` 作为 href 不做占位符? [复制]

javascript 使用