@accounter/modern-poalim-scraper
Version:
Modern scraper for Israeli banks (Hapoalim, Isracard, Max)
55 lines • 2.22 kB
JavaScript
import puppeteer from 'puppeteer-extra';
import StealthPlugin from 'puppeteer-extra-plugin-stealth';
import { max } from './scrapers/max.js';
import { otsarHahayal, } from './scrapers/otsar-hahayal/index.js';
import { amex, cal, discount, hapoalim, isracard, } from './scrapers/scrapers-index.js';
import { newPage } from './utils/browser-util.js';
puppeteer.use(StealthPlugin());
export async function init({ headless = true, userAgent, } = {}) {
/* this initiates browser and returns every scraper as function */
/* each scraper opens its own page */
const browser = await puppeteer.launch({
headless,
args: userAgent ? [`--user-agent=${userAgent}`] : [],
});
return {
hapoalim: async (credentials, options) => {
//return hapoalim.init
const page = await newPage(browser);
return hapoalim(page, credentials, options);
},
isracard: async (credentials, options) => {
//return isracard.init
const page = await newPage(browser);
return isracard(page, credentials, options);
},
amex: async (credentials, options) => {
//return isracard.init
const page = await newPage(browser);
return amex(page, credentials, options);
},
cal: async (credentials, options) => {
//return cal.init
const page = await newPage(browser);
return cal(page, credentials, options);
},
discount: async (credentials, options) => {
//return discount.init
const page = await newPage(browser);
return discount(page, credentials, options);
},
max: async (credentials, options) => {
const page = await newPage(browser);
return max(page, credentials, options);
},
otsarHahayal: async (credentials, options) => {
return otsarHahayal(credentials, options);
},
close: () => {
return browser.close();
},
};
}
export * from './zod-schemas/types.js';
export { HapoalimOptions } from './scrapers/hapoalim.js';
//# sourceMappingURL=index.js.map