Uso del navegador de raspado de Bright Data para raspar páginas web — Amit Merchant — Un blog sobre PHP, JavaScript y más

Uso del navegador de raspado de Bright Data para raspar páginas web — Amit Merchant — Un blog sobre PHP, JavaScript y más

Llega un momento en el que tienes que raspar un sitio web para obtener datos. Por ejemplo, es posible que desee raspar un sitio web para obtener una lista de todos los productos que tienen o que desee raspar un sitio web para obtener una lista de todas las publicaciones de blog que tienen. O simplemente desea automatizar el proceso de extracción de datos de un sitio web para facilitarle la vida.

Índice
  1. ¿Qué es el web scraping?
  2. Usar un navegador sin cabeza
  3. Navegador de scraping de Bright Data
  4. Usando el navegador scraper
  5. Usar el Scraping Browser de Bright Data es ético
  6. Envoltura

¿Qué es el web scraping?

Pero, ¿qué quieres decir con raspar páginas web de todos modos?

Bueno, el raspado de páginas web es el proceso de extraer datos de un sitio web a través de su estructura HTML. Esto generalmente se hace usando una herramienta de web scraping o una biblioteca de web scraping.

Podemos lograr esto usando algo llamado navegador sin cabeza. Un navegador sin cabeza es un navegador web que se puede utilizar sin una interfaz gráfica de usuario. Se puede controlar mediante programación y se utiliza para automatizar la interacción de la página web.

Entonces, lo que básicamente estamos haciendo es lanzar un navegador sin cabeza y luego usarlo para navegar por la estructura HTML del sitio web y extraer los datos que necesitamos.

Usar un navegador sin cabeza

Hay muchos navegadores sin cabeza por ahí. Pero el titiritero es el más popular. Es una biblioteca de Node.js que proporciona una API de alto nivel para controlar Chrome o Chromium a través del protocolo DevTools. También se puede configurar para usar Chrome o Chromium completo (no headless).

Instala Puppeteer en su proyecto de JavaScript existente con npm usando el siguiente comando.

Una vez instalado, un script simple para raspar el título de un sitio web se vería así.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.goto('https://example.com');
  const title = await page.title();

  console.log(title);

  await browser.close();
})();

Como puede ver, usamos el puppeteer paquete para iniciar un navegador sin cabeza, luego navegamos al sitio web que queremos raspar. Y luego extraemos el título del sitio web.

Ahora bien, esto funciona bien para la mayoría de los sitios web, pero en escenarios en los que el sitio web que desea eliminar de algunos sitios web protegidos por medidas anti-bot y CAPTCHA, es posible que no pueda eliminarlos al principio.

En tales casos, puede usar un navegador scraper como el navegador scraper de Bright Data.

Navegador de scraping de Bright Data

Es un navegador especialmente diseñado para web scraping a gran escala. Esta es una instancia de navegador basada en Chromium que es diseñado para manejar medidas anti-bot, huellas dactilares, CAPTCHA, y más. El incluso evita los bloqueos de sitios web más difíciles.

También puede crear instancias de un número ilimitado de instancias de raspado del navegador y ejecutarlas en paralelo para raspar varios sitios web al mismo tiempo.

Este navegador scraper es un "cabeza llena" navegador a diferencia de Puppeteer, que es un "sin cabeza" Navegador.

Esto significa que, si bien los navegadores sin cabeza se utilizan a menudo con proxies para el raspado de datos, el software de protección contra bots detecta fácilmente estos navegadores, lo que dificulta el raspado de datos a gran escala.

Un navegador headfull, por otro lado, es muy superior a los navegadores headfull para escalar proyectos de extracción de datos y eludir bloques.

Usando el navegador scraper

Para comenzar a usar el Scraping Browser de Bright Data, primero debe crear una cuenta en Bright Data.

Una vez que haya creado una cuenta, vaya a https://brightdata.com/cp/zones y haga clic en Comenzar en el navegador raspador sección.

Comenzar

Esto te llevará a navegador raspador página donde puede crear una nueva instancia de navegador de raspado como esta.

Crear un navegador de raspado

Esto lo llevará a una página desde donde puede obtener el Anfitrión, nombre del usuarioY Contraseña que puede usar para instanciar el navegador de raspado.

Credenciales del navegador

Una vez hecho esto, puede comenzar a usar esas credenciales para crear una instancia del navegador scraper usando Puppeteer.

En este caso utilizaremos el puppeteer-core paquete que es una versión de Puppeteer que no descarga Chromium de forma predeterminada.

Nota: Además de Puppeteer, este navegador scraper también es compatible con Playwright y Selenium. Pero nos limitaremos a Titiritero para este ejemplo.

En cambio, proporciona una forma de iniciar Chromium desde una ruta específica.

Y así es como puede capturar el HTML de un sitio web completo utilizando el navegador de raspado de Bright Data.

const puppeteer = require('puppeteer-core');

// should look like 'brd-customer-<ACCOUNTID>-zone:<PASSWORD>'
const auth='USERNAME:PASSWORD';

async function scrape(){
  let browser;
  try {
    browser = await puppeteer.connect({
        browserWSEndpoint: `wss://${auth}@brd.superproxy.io:9222`
    });

    const page = await browser.newPage();
    page.setDefaultNavigationTimeout(2*60*1000);
    await page.goto('https://example.com');

    const html = await page.evaluate(() => {
        return document.documentElement.outerHTML
    });

    console.log(html);
  } catch(e) {
    console.error('run failed', e);
  } finally {
    await browser?.close();
  }
}

if (require.main==module)
     scrape();

guardarlo como scrape.js y ejecútalo así.

Como puede ver, nos estamos conectando al navegador de raspado de Bright Data usando el puppeteer.connect método pasando el browserWSEndpoint opción. Esta opción es la URL del navegador scraper que puede encontrar en el panel de control de Bright Data.

Necesitas reemplazar el USERNAME Y PASSWORD con sus propias credenciales. Y la instancia del navegador con el Anfitrión proporcionada en el tablero.

La mejor parte es que Bright Data ofrece una prueba gratuita de $ 5 si desea probar su navegador de raspado. Puede registrarse para una prueba gratuita: Prueba gratuita de Bright Data

Usar el Scraping Browser de Bright Data es ético

Es importante tener en cuenta aquí que cuando usa el navegador de raspado de Bright Data, no tiene que preocuparse por quejarse porque mantienen un sistema de cumplimiento basado en la disuasión, la prevención y la aplicación. Por lo tanto, asegúrese de que sea lo suficientemente ético como para usarlo.

Envoltura

Así es como puede usar el navegador de raspado de Bright Data para raspar páginas web. Como puede ver, es bastante simple y fácil de usar. También puede usarlo para raspar varios sitios web al mismo tiempo instanciando varias instancias de raspado del navegador.

¡Puede obtener una oferta por tiempo limitado de hasta un 50% de descuento!

Si quieres conocer otros artículos parecidos a Uso del navegador de raspado de Bright Data para raspar páginas web — Amit Merchant — Un blog sobre PHP, JavaScript y más puedes visitar la categoría Código.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas