37 lines
950 B
TypeScript
37 lines
950 B
TypeScript
|
|
/**
|
||
|
|
* Quick test script to verify the masstimes.org JSON API scraper works
|
||
|
|
* Usage: npx tsx scripts/test-masstimes-api.ts
|
||
|
|
*/
|
||
|
|
|
||
|
|
import { writeFileSync } from 'fs';
|
||
|
|
import { MassTimesScraper } from '../../src/lib/masstimes-scraper';
|
||
|
|
|
||
|
|
async function main() {
|
||
|
|
console.log('Testing MassTimes.org JSON API Scraper\n');
|
||
|
|
|
||
|
|
const scraper = new MassTimesScraper();
|
||
|
|
|
||
|
|
try {
|
||
|
|
await scraper.init();
|
||
|
|
console.log('Browser initialized\n');
|
||
|
|
|
||
|
|
const lat = 34.852;
|
||
|
|
const lng = -82.394;
|
||
|
|
console.log(`Fetching churches near Greenville, SC (${lat}, ${lng})...\n`);
|
||
|
|
|
||
|
|
const churches = await scraper.scrapeByLocation(lat, lng);
|
||
|
|
|
||
|
|
const outPath = 'scraped-churches.json';
|
||
|
|
writeFileSync(outPath, JSON.stringify(churches, null, 2));
|
||
|
|
console.log(`\nSaved ${churches.length} churches to ${outPath}`);
|
||
|
|
|
||
|
|
} catch (error) {
|
||
|
|
console.error('TEST FAILED:', error);
|
||
|
|
process.exit(1);
|
||
|
|
} finally {
|
||
|
|
await scraper.close();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
main();
|