UNPKG

hammer-scrape

Version:

Unifies Cheerio and Puppeteer for the most streamline scraping experience

49 lines 1.88 kB
"use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); // our entry point into this library __export(require("./engines/hammer_engine")); __export(require("./engines/cheerio_engine")); __export(require("./engines/puppeteer_engine")); __export(require("./cores/cheerio_parsing")); __export(require("./cores/puppeteer_parsing")); __export(require("./cores/puppeteer_manipulate")); __export(require("./engine_core_type")); __export(require("./engine_errors")); __export(require("./engine_mode")); __export(require("./engine_type")); __export(require("./web_scraping_engine")); // default export will be the hammer engine const hammer_engine_1 = require("./engines/hammer_engine"); const request_group_1 = require("request-group"); /** Quick and Dirty hammer request * @todo Find a a way to share puppeteer manager instances between multiple hammer request. Right now this is really inefficiant */ class HammerRequest extends request_group_1.BaseWebRequest { constructor(url, pingSelector, sharedManager, forceBrowser) { super(url); this.pingSelector = pingSelector; this.sharedManager = sharedManager; this.forceBrowser = forceBrowser; } async dispose() { if (this.pageData) { await this.pageData.shutoff(); this.pageData = null; } } async run() { if (!this.pageData) { this.pageData = new hammer_engine_1.default(this.pingSelector, true, this.sharedManager, this.forceBrowser); await this.pageData.startup(); } // process a url await this.pageData.process(this.getUrl()); return this; } } exports.HammerRequest = HammerRequest; exports.default = hammer_engine_1.default; //# sourceMappingURL=index.js.map