Web Scraping con Playwright: Guía Básica con ejemplo

El scraping web consiste en extraer datos de páginas web de forma automática. Herramientas como axios son útiles para HTML estático, pero si la web usa JavaScript para cargar los datos, necesitas algo más potente. Aquí es donde entra Playwright.


¿Qué es Playwright?

Playwright es una herramienta de automatización de navegadores (como Chrome, Firefox o Edge) desarrollada por Microsoft. Puedes usarlo para probar aplicaciones web o... hacer scraping 😉


Requisitos previos

Primero, asegúrate de tener Node.js instalado.

Instala Playwright

npm init -y
npm install playwright

💡 También puedes instalar playwright-core si solo quieres usar ciertas funciones, pero para scraping normal playwright va perfecto.


Ejemplo simple: Extraer títulos de artículos

Vamos a extraer los títulos de los artículos de https://quotes.toscrape.com/, una web de prueba para scraping.

Código (scrape.js)

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch(); // abre navegador (modo headless por defecto)
  const page = await browser.newPage();

  await page.goto('https://quotes.toscrape.com/');

  const quotes = await page.$$eval('.quote', nodes => {
    return nodes.map(quote => {
      const text = quote.querySelector('.text')?.innerText;
      const author = quote.querySelector('.author')?.innerText;
      return { text, author };
    });
  });

  console.log("📝 Citas encontradas:");
  quotes.forEach((q, i) => {
    console.log(`${i + 1}. ${q.text} — ${q.author}`);
  });

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

 

Cómo ejecutarlo

node scrape.js

📋 Salida esperada:

📝 Citas encontradas:
1. “The world as we have created it is a process of our thinking...” — Albert Einstein
2. “It is our choices, Harry, that show what we truly are...” — J.K. Rowling
...


¿Por qué usar Playwright para scraping?

  • Soporta páginas dinámicas que cargan datos con JS.

  • Permite emular clics, scroll, llenar formularios, etc.

  • Puedes esperar a que los datos estén visibles antes de extraerlos.

  • Compatible con Chromium, Firefox y WebKit.

Deja una respuesta

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

Subir