Initial commit
This commit is contained in:
+54
@@ -0,0 +1,54 @@
|
||||
const { pool } = require('./src/db');
|
||||
|
||||
(async () => {
|
||||
var CasinoCrawlerClass = require('./src/services/crawler');
|
||||
var crawler = new CasinoCrawlerClass();
|
||||
|
||||
try {
|
||||
await crawler.initialize();
|
||||
|
||||
// Test two real casino review affiliate sites
|
||||
const urlsToTest = [
|
||||
'https://chipy.com/casinos',
|
||||
'https://gamezinger.com/online-casinos/'
|
||||
];
|
||||
|
||||
for (const testUrl of urlsToTest) {
|
||||
console.log('\nTesting:', testUrl);
|
||||
|
||||
var pg = await crawler.browser.newPage();
|
||||
await pg.setUserAgent(
|
||||
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36'
|
||||
);
|
||||
|
||||
// Navigate to site and wait for content
|
||||
await page.goto(testUrl, { waitUntil: 'domcontentloaded', timeout: 12000 });
|
||||
await new Promise(r => setTimeout(r, 2000));
|
||||
|
||||
const title = await pg.title();
|
||||
console.log('Title:', title.substring(0, 80));
|
||||
|
||||
// Run extractors
|
||||
var extracted = await crawler.extractCasinoData(pg);
|
||||
console.log('Extractor found', extracted.length, 'casino entries:');
|
||||
for (var i = 0; i < Math.min(15, extracted.length); i++) {
|
||||
var c = extracted[i];
|
||||
var linkStr = '';
|
||||
if (c.link) {
|
||||
try { var linkStr = new URL(c.link).origin;
|
||||
} catch(e) { linkStr = c.link.substring(0, 60); }
|
||||
}
|
||||
console.log(' #' + (i + 1) + ' Name:', c.name, '| Link:', linkStr.substring(0, 50));
|
||||
}
|
||||
|
||||
try { await pg.close(); } catch(e) {}
|
||||
}
|
||||
|
||||
} catch(err) {
|
||||
console.error('\nTest crashed:', err.message);
|
||||
} finally {
|
||||
if (crawler.browser) await crawler.close().catch(() => {});
|
||||
await pool.end().catch(() => {});
|
||||
process.exit(0);
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user