← back to Patternbank Archive
scripts/probe.js
23 lines
#!/usr/bin/env node
require('dotenv').config({ path: require('path').join(__dirname, '..', '.env') });
const fs = require('fs');
const { withPage } = require('../src/browser');
(async () => {
const url = process.argv[2] || 'https://patternbank.com/graphics/';
const r = await withPage(async (page) => {
const resp = await page.goto(url, { waitUntil: 'domcontentloaded', timeout: 60000 });
await page.waitForTimeout(3000);
for (let s=0;s<6;s++){ await page.evaluate(()=>window.scrollBy(0,2000)); await page.waitForTimeout(500); }
return { status: resp ? resp.status() : 0, html: await page.content(), finalUrl: page.url(), title: await page.title() };
});
console.log('status:', r.status, 'final:', r.finalUrl, 'title:', r.title, 'len:', r.html.length);
fs.writeFileSync('/tmp/pb-probe.html', r.html);
console.log('wrote /tmp/pb-probe.html');
// Quick link audit
const hrefs = [...new Set([...r.html.matchAll(/href="([^"]+)"/g)].map(m=>m[1]))];
const graphics = hrefs.filter(h=>/\/graphics\//.test(h)).slice(0, 30);
console.log('graphics-links sample:', graphics);
process.exit(0);
})().catch(e => { console.error(e); process.exit(1); });