From 15c718dd0aa8faaf0d3f521c78ac14673317b195 Mon Sep 17 00:00:00 2001 From: Kfir Dayan Date: Wed, 19 Apr 2023 10:15:19 +0300 Subject: [PATCH] make sure there is an sites_assets --- src/crawler/crawler.service.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/crawler/crawler.service.ts b/src/crawler/crawler.service.ts index 29ff1c0..6eb2c44 100644 --- a/src/crawler/crawler.service.ts +++ b/src/crawler/crawler.service.ts @@ -10,13 +10,13 @@ import { Site } from '../interfaces/site.interface'; export class CrawlerService { constructor() { - // make sure there is an sites_assets folder if (!fs.existsSync('sites_assets')) { mkdirSync('sites_assets'); } } async crawl(url: string): Promise { + console.log("start crawl website", url); const browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox'] }); const page = await browser.newPage(); @@ -26,6 +26,7 @@ export class CrawlerService { if (!fs.existsSync(directory)) { mkdirSync(directory); } + // STYLESHEETS // console.log("start stylesheets") const stylesheetsUrls = await page.$$eval('link[rel="stylesheet"]', links => links.map(link => link.href)); @@ -43,9 +44,15 @@ export class CrawlerService { // SCREENSHOT // const screenshotBuffer: Buffer = await page.screenshot({ fullPage: true }); - fs.writeFile(`${directory}screenshot.png`, screenshotBuffer, (err) => { - if (err) throw err; - // console.log(`Screenshot saved! ${directory}screenshot.png`); + + await new Promise((resolve, reject) => { + fs.writeFile(`${directory}screenshot.png`, screenshotBuffer, (err) => { + if (err) { + reject(err); + } else { + resolve(true); + } + }); }); // SCREENSHOT //