Ensure you have the required libraries installed before proceeding.
Basic Web Scraping
Select Your Tech Stack:
const playwright = require('playwright');
const AUTH = process.env.AUTH || 'USER:PASS';
const TARGET_URL = process.env.TARGET_URL || 'https://example.com';
async function scrape(url = TARGET_URL) {
if (AUTH === 'USER:PASS') {
throw new Error('🔑 Missing credentials! Update the AUTH environment variable.');
}
console.log(`🚀 Connecting to browser.ai...`);
const endpointURL = `wss://${AUTH}@brd.superproxy.io:9222`;
const browser = await playwright.chromium.connectOverCDP(endpointURL);
try {
console.log(`🌎 Navigating to ${url}...`);
const page = await browser.newPage();
await page.goto(url, { timeout: 120000 });
console.log(`📄 Extracting page content...`);
const data = await page.content();
console.log(`✅ Data scraped:`, data);
} finally {
await browser.close();
}
}
scrape().catch(err => console.error(`❌ Error:`, err));
Debugging & Inspecting Your Session
Want to see what’s happening inside your browser.ai session? Open DevTools automatically:
const { exec } = require('child_process');
const AUTH = process.env.AUTH || 'USER:PASS';
const browserWSEndpoint = `wss://${AUTH}@brd.superproxy.io:9222`;
(async () => {
console.log("🚀 Connecting to browser.ai...");
const browser = await puppeteer.connect({ browserWSEndpoint });
const page = await browser.newPage();
const client = await page.target().createCDPSession();
const { url: inspectUrl } = await client.send('Page.inspect');
console.log(`🛠 Open DevTools: ${inspectUrl}`);
exec(`google-chrome "${inspectUrl}"`);
})();
Handling CAPTCHAs
browser.ai can automatically detect and solve CAPTCHAs in real time:
const puppeteer = require('puppeteer-core');
const AUTH = process.env.AUTH || 'USER:PASS';
const TARGET_URL = process.env.TARGET_URL || 'https://example.com';
(async () => {
const browser = await puppeteer.connect({ browserWSEndpoint: `wss://${AUTH}@brd.superproxy.io:9222` });
const page = await browser.newPage();
await page.goto(TARGET_URL, { timeout: 120000 });
console.log("🔎 Checking for CAPTCHA...");
const client = await page.target().createCDPSession();
const { status } = await client.send("Captcha.solve", { detectTimeout: 30000 });
console.log(`🛠 CAPTCHA status: ${status}`);
})();
BrowserAI makes web scraping easy, scalable, and unblockable. Get started today!