-
Notifications
You must be signed in to change notification settings - Fork 0
/
pageController.js
51 lines (50 loc) · 1.6 KB
/
pageController.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
const milleniumBim = require("./scrapers/milleniumBim");
const nedbank = require("./scrapers/nedbank");
const standardBank = require("./scrapers/standardBank");
const bci = require("./scrapers/bci");
const fnb = require("./scrapers/fnb");
const firstCapitalBank = require("./scrapers/firstCapitalBank");
const moza = require("./scrapers/mozaBanco");
const bancoMocambique = require("./scrapers/bancoMocambique");
const { updateDatabase } = require("./firebaseOperations");
const { dispatch } = require("./logger");
async function scrapeAll(browserInstance) {
dispatch("Scrapping the Web for Currencies...");
let browser;
try {
browser = await browserInstance;
const banks = [
milleniumBim,
nedbank,
standardBank,
bci,
fnb,
firstCapitalBank,
moza,
bancoMocambique,
];
banks.forEach((bank) => {
bank
.executeScrapper(browser)
.then((data) => {
dispatch(`Scrapped Successfully: ${bank.scrapperName}`);
console.log(data);
updateDatabase(
`/scrapperInformation/dailyInformation/${bank.scrapperName}`,
{
...data,
date: new Date().toLocaleString("en-GB"),
}
);
})
.catch((error) => {
dispatch(`Failed to Scrappe: ${bank.scrapperName}`);
console.log(error);
// updateDatabase(`/scrapperErrors/${bank.scrapperName}`, { error });
});
});
} catch (err) {
dispatch(`Could not resolve the browser instance => ${err}`);
}
}
module.exports = (browserInstance) => scrapeAll(browserInstance);