diff --git a/src/core.ts b/src/core.ts index 85c73ce..afac58b 100644 --- a/src/core.ts +++ b/src/core.ts @@ -36,7 +36,8 @@ import { Ep, Kinq, Maxiaxi, - FotoDeVakman + FotoDeVakman, + Kabels } from "./modules/websites"; // Globals @@ -50,7 +51,7 @@ start(); async function debugStart() { browser = await puppeteer.launch({ headless: false }); - console.log(await crawlProductStock("https://www.fotodevakman.nl/sony-a7-iii-body-sony-sel-sel-28-60mm-f4-5-6")); + console.log(await crawlProductStock("https://www.kabels.nl/nl_nl/ewent-ew3240-draadloze-multi-connect-muis-600-2400-dpi-zwart-34863350.html")); } async function start() { @@ -299,6 +300,9 @@ async function crawlProductStock(url: string) { case "fotodevakman.nl": return [domain, page.url(), await FotoDeVakman.check(html)]; + + case "kabels.nl": + return [domain, page.url(), await Kabels.check(html)]; default: console.error(`-- ${domain} is not an available website module! Can't check stock!`); diff --git a/src/modules/websites.ts b/src/modules/websites.ts index 8317a9a..353095b 100644 --- a/src/modules/websites.ts +++ b/src/modules/websites.ts @@ -619,4 +619,22 @@ export namespace FotoDeVakman { return false; } } +} + +export namespace Kabels { + export async function check(html: string) { + try { + const $ = cheerio.load(html); + + if ($(".product-info-main").find(".stock .available").first()) { + return true; + } + + return false; + } catch (error) { + console.log(error); + console.error(`Error occured during stock check!`); + return false; + } + } } \ No newline at end of file