UNPKG

hammer-scrape

Version:

Unifies Cheerio and Puppeteer for the most streamline scraping experience

47 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const web_scraping_engine_1 = require("../web_scraping_engine"); const engine_type_1 = require("../engine_type"); const engine_core_type_1 = require("../engine_core_type"); const cheerio_parsing_1 = require("../cores/cheerio_parsing"); const engine_mode_1 = require("../engine_mode"); const engine_errors_1 = require("../engine_errors"); class CheerioEngine extends web_scraping_engine_1.WebScrapingEngine { constructor() { super(engine_type_1.default.Fixed, engine_core_type_1.default.Cheerio); } load() { return new Promise((resolve) => { this.parsingCore = null; this.manipulationCore = null; resolve(); }); } process(url) { if (this.isCorrectEngineMode(engine_mode_1.default.Idling)) { return new Promise(async (resolve) => { this.setEngineMode(engine_mode_1.default.Loading); let cheerioCore = new cheerio_parsing_1.default(url); await cheerioCore.initialize({ xml: false, header: undefined, }); this.parsingCore = cheerioCore; this.setEngineMode(engine_mode_1.default.Idling); resolve(); }); } else { throw new engine_errors_1.EngineCannotSwitchModeError(); } } shutoff() { return new Promise((resolve) => { this.setEngineMode(engine_mode_1.default.Off); resolve(); }); } } exports.CheerioEngine = CheerioEngine; exports.default = CheerioEngine; //# sourceMappingURL=cheerio_engine.js.map