Puppeteer
Scraping Browser proporciona una plataforma sin servidor y de alto rendimiento diseñada para simplificar el proceso de extracción de datos de sitios web dinámicos. Mediante una integración perfecta con Puppeteer, los desarrolladores pueden ejecutar, gestionar y monitorizar navegadores headless sin necesidad de un servidor dedicado, permitiendo una automatización web eficiente y la recopilación de datos.
Instalación de las bibliotecas necesarias
Primero, instala puppeteer-core
, una versión ligera de Puppeteer diseñada para conectarse a instancias de navegador existentes:
npm install puppeteer-core
Escribiendo código para conectarse a Scraping Browser
En tu código Puppeteer, conéctate a Scraping Browser usando lo siguiente:
const puppeteer = require('puppeteer-core');
const connectionURL = 'wss://browser.scrapeless.com/browser?token=APIKey&session_ttl=180&proxy_country=ANY';
(async () => {
const browser = await puppeteer.connect({browserWSEndpoint: connectionURL});
const page = await browser.newPage();
await page.goto('https://www.scrapeless.com');
console.log(await page.title());
await browser.close();
})();
Esto te permite aprovechar la infraestructura de Scraping Browser, incluyendo escalabilidad, rotación de IP y acceso global.
Ejemplos prácticos
Aquí hay algunas operaciones comunes de Puppeteer después de integrar Scraping Browser:
- Navegación y extracción de contenido de la página
const page = await browser.newPage();
await page.goto('https://www.example.com');
console.log(await page.title());
const html = await page.content();
console.log(html);
await browser.close();
- Captura de pantalla
const page = await browser.newPage();
await page.goto('https://www.example.com');
await page.screenshot({ path: 'example.png' });
console.log('Screenshot saved as example.png');
await browser.close();
- Ejecución de código personalizado
const page = await browser.newPage();
await page.goto('https://www.example.com');
const result = await page.evaluate(() => document.title);
console.log('Page title:', result);
await browser.close();