From e418b5dc344eaf9083b7c0b885b664a5ed4ca15b Mon Sep 17 00:00:00 2001 From: Nick Leeman Date: Fri, 26 Mar 2021 15:53:13 +0100 Subject: [PATCH] added support for ep.nl --- src/core.ts | 8 ++++++-- src/modules/websites.ts | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/core.ts b/src/core.ts index 6c8bdd1..438f5b0 100644 --- a/src/core.ts +++ b/src/core.ts @@ -32,7 +32,8 @@ import { HuisdierExpress, HondenBed, Coolblue, - WifiMedia + WifiMedia, + Ep } from "./modules/websites"; // Globals @@ -46,7 +47,7 @@ start(); async function debugStart() { browser = await puppeteer.launch({ headless: false }); - console.log(await crawlProductStock("https://www.coolblue.nl/product/829953/cardo-scala-rider-freecom-4-plus-single.html")); + console.log(await crawlProductStock("https://www.ep.nl/products/sony-kd-l32we610-hd-led-tv/27658/")); } async function start() { @@ -283,6 +284,9 @@ async function crawlProductStock(url: string) { case "wifimedia.eu": return [domain, page.url(), await WifiMedia.check(html)]; + + case "ep.nl": + return [domain, page.url(), await Ep.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 533b6ad..f7e14e2 100644 --- a/src/modules/websites.ts +++ b/src/modules/websites.ts @@ -527,3 +527,20 @@ export namespace WifiMedia { } } +export namespace Ep { + export async function check(html: string) { + try { + const $ = cheerio.load(html); + + if ($(".product__info").find(".is-green").html()) { + return true; + } + + return false; + } catch (error) { + console.log(error); + console.error(`Error occured during stock check!`); + return false; + } + } +} \ No newline at end of file