Cómo usar Playwright en Ruby para raspar la web

Adélia Cruz
Neural Network Developer
08-Oct-2024
El web scraping se ha convertido en una habilidad esencial para recopilar datos de sitios web, ya sea para análisis de mercado, investigación académica o cualquier proyecto basado en datos. Playwright es una excelente herramienta de automatización de navegador que se puede utilizar para raspar sitios web de manera eficiente, ofreciendo soporte para múltiples lenguajes, incluido Ruby. En esta guía, analizaremos cómo configurar y utilizar Playwright en Ruby para raspar un sitio web, usando quotes.toscrape.com como ejemplo.
¿Qué es Playwright?
Playwright es un marco de automatización moderno para pruebas web, similar a Selenium pero con una ejecución más rápida y soporte para todos los navegadores modernos como Chromium, Firefox y WebKit. Ofrece potentes herramientas de automatización de navegador para raspado sin cabeza y con cabeza, navegación por páginas, interacción con formularios y más.
¿Por qué usar Playwright con Ruby?
Ruby es un lenguaje popular conocido por su simplicidad y sintaxis fácil de usar para los desarrolladores. Al usar Playwright con Ruby, puede aprovechar el poder de la automatización de navegador moderna mientras mantiene la estructura de código limpia y fácil de leer de Ruby. Playwright es ideal para el web scraping debido a su velocidad, las condiciones de espera integradas y la capacidad de manejar contenido dinámico cargado por JavaScript.
Configurar Playwright en Ruby
Para comenzar a raspar con Playwright en Ruby, deberá configurar algunas cosas:
1. Instalar Ruby
Asegúrese de tener Ruby instalado en su máquina. Puede verificar esto ejecutando el siguiente comando en su terminal:
bash
ruby -v
Si Ruby no está instalado, puede instalarlo a través de rbenv o directamente desde el sitio oficial de Ruby.
2. Instalar la gema Playwright
Luego, deberá instalar la gema playwright-ruby-client. Esta gema proporciona enlaces Playwright para Ruby, lo que le permite interactuar con los navegadores mediante programación.
Ejecute el siguiente comando para instalar la gema:
bash
gem install playwright-ruby-client
3. Instalar navegadores
Después de instalar la gema, debe instalar los navegadores compatibles con Playwright. Ejecute el siguiente comando:
bash
playwright install
Esto descargará Chromium, Firefox y WebKit para su uso con Playwright.
Ejemplo de raspado: raspar citas de un sitio web
Vamos a sumergirnos en un simple ejemplo de raspado donde extraeremos citas de quotes.toscrape.com. El sitio web contiene citas famosas junto con los autores, lo que lo convierte en un gran recurso para practicar el raspado.
Paso 1: Inicializar Playwright y lanzar un navegador
Primero, necesita inicializar Playwright y lanzar un navegador (Chromium en este caso). Aquí se explica cómo hacerlo:
ruby
require 'playwright-ruby-client'
Playwright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright|
browser = playwright.chromium.launch(headless: true) # Lanzar navegador sin cabeza
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
puts "Título de la página: #{page.title}" # Opcional: Imprimir título de página para verificar si se carga correctamente
# Cerrar el navegador
browser.close
end
En este fragmento, Playwright abre la página quotes.toscrape.com en un navegador Chromium sin cabeza.
Paso 2: Raspar citas y autores
Ahora, queremos raspar las citas y sus autores de la página. Para hacer esto, necesitamos inspeccionar la estructura de la página e identificar los elementos que contienen las citas y los autores.
Aquí está el código que extrae las citas y sus respectivos autores:
ruby
require 'playwright-ruby-client'
Playwright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright|
browser = playwright.chromium.launch(headless: true)
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
# Encontrar todos los elementos de citas
quotes = page.query_selector_all('.quote')
quotes.each do |quote|
text = quote.query_selector('.text').text_content.strip
author = quote.query_selector('.author').text_content.strip
puts "Cita: #{text} - Autor: #{author}"
end
browser.close
end
Este script utiliza Playwright para visitar el sitio web, extraer el texto de la cita y el autor, y luego imprimirlos en la consola. La clase .quote apunta a cada bloque de citas, y usamos .text y .author para extraer la información relevante.
Paso 3: Manejar la paginación
El sitio web de citas utiliza paginación, por lo que es posible que desee raspar todas las páginas, no solo la primera. Aquí se explica cómo manejar la paginación:
ruby
require 'playwright-ruby-client'
Playwright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright|
browser = playwright.chromium.launch(headless: true)
page = browser.new_page
page.goto('http://quotes.toscrape.com/')
loop do
quotes = page.query_selector_all('.quote')
quotes.each do |quote|
text = quote.query_selector('.text').text_content.strip
author = quote.query_selector('.author').text_content.strip
puts "Cita: #{text} - Autor: #{author}"
end
next_button = page.query_selector('li.next > a')
break unless next_button # Salir del bucle si no hay una página siguiente
next_button.click
page.wait_for_load_state('load') # Esperar a que se cargue la siguiente página
end
browser.close
end
Este código recorre en bucle cada página haciendo clic en el botón "Siguiente" hasta que no haya más páginas. Continúa extrayendo las citas y los autores de cada página.
Guía paso a paso: Resolución de captcha usando Playwright y CapSolver en Ruby
Esta guía explica cómo resolver captcha / reCaptcha usando la extensión de navegador CapSolver con Playwright en Ruby. CapSolver proporciona una manera fácil de manejar captchas sin escribir código adicional para resolverlos directamente.
Paso 1: Instalar Playwright y dependencias
Primero, asegúrese de tener Playwright instalado:
bash
gem install playwright-ruby-client
Paso 2: Descargar y configurar la extensión CapSolver
-
Descargar la extensión CapSolver:
- Descargue la extensión CapSolver desde la página de lanzamientos de GitHub de CapSolver.
- Descomprima la extensión en un directorio en la raíz de su proyecto, como
./CapSolver.Browser.Extension.
-
Configurar la extensión:
- Localice el archivo de configuración
./assets/config.jsonen el directorio de la extensión CapSolver. - Establezca la opción
enabledForcaptchaentruey ajuste elcaptchaModeentokenpara la resolución automática.
Ejemplo
config.json:json{ "enabledForcaptcha": true, "captchaMode": "token" // otras configuraciones permanecen igual } - Localice el archivo de configuración
Paso 3: Configurar Playwright con la extensión CapSolver
Aquí se explica cómo puede cargar la extensión CapSolver en el navegador Playwright:
-
Requerir Playwright y configurar rutas:
rubyrequire 'playwright-ruby-client' require 'fileutils' # Obtener la ruta para el directorio de la extensión CapSolver extension_path = File.join(Dir.pwd, 'CapSolver.Browser.Extension') -
Lanzar el navegador con la extensión CapSolver:
Utilice Playwright para lanzar un navegador Chromium con la extensión CapSolver cargada.rubyPlaywright.create(playwright_cli_executable_path: '/path/to/cli') do |playwright| browser = playwright.chromium.launch_persistent_context('', { headless: false, # Ejecutar con un navegador visible para depuración args: [ "--disable-extensions-except=#{extension_path}", "--load-extension=#{extension_path}" ] }) page = browser.new_page page.goto('https://quotes.toscrape.com/') # Reemplazar con la URL de destino # Localizar la casilla de verificación o el marco captcha e interactuar con él page.wait_for_selector('iframe', state: 'visible') # Ajustar el selector para apuntar al iframe captcha page.click('iframe') # Ajustar el evento de clic para la interacción de su captcha # Se pueden agregar pasos adicionales basados en los requisitos del sitio browser.close end
Los pasos para resolver reCaptcha son los mismos que para captcha.
Código de bonificación
Reclama tu Código de bonificación para las mejores soluciones de captcha en CapSolver: scrape. Después de canjearlo, obtendrás un bono adicional del 5% después de cada recarga, sin límite de veces.

Conclusión
Usar Playwright en Ruby para el web scraping ofrece una manera eficiente y poderosa de extraer datos de sitios web. Ya sea contenido estático simple o páginas cargadas dinámicamente, Playwright maneja ambos sin esfuerzo. En este tutorial, raspamos citas y autores de un sitio web, pero Playwright puede hacer mucho más, como interactuar con formularios, tomar capturas de pantalla o incluso ejecutar pruebas basadas en navegador.
Si está buscando una herramienta robusta para el web scraping en Ruby, Playwright es una excelente opción. Es fácil de configurar, rápido y lo suficientemente flexible como para manejar diversas tareas de raspado.
Aviso de Cumplimiento: La información proporcionada en este blog es solo para fines informativos. CapSolver se compromete a cumplir con todas las leyes y regulaciones aplicables. El uso de la red de CapSolver para actividades ilegales, fraudulentas o abusivas está estrictamente prohibido y será investigado. Nuestras soluciones para la resolución de captcha mejoran la experiencia del usuario mientras garantizan un 100% de cumplimiento al ayudar a resolver las dificultades de captcha durante el rastreo de datos públicos. Fomentamos el uso responsable de nuestros servicios. Para obtener más información, visite nuestros Términos de Servicio y Política de Privacidad.
Máse

Cómo resolver desafíos CAPTCHA para agentes de IA: Extracción de datos con n8n, CapSolver y OpenClaw
Aprende cómo automatizar la resolución de CAPTCHA para agentes de inteligencia artificial utilizando n8n, CapSolver y OpenClaw. Construye una pipeline del lado del servidor para extraer datos de sitios web protegidos sin automatización de navegadores o pasos manuales.

Aloísio Vítor
20-Mar-2026

Cómo resolver CAPTCHA con Vercel Agent Browser – Guía paso a paso usando CapSolver
Aprende a integrar CapSolver con Agent Browser para manejar CAPTCHAs y construir flujos de trabajo de automatización de IA confiables.

Adélia Cruz
18-Mar-2026

Cómo usar CapSolver en n8n: La guía completa para resolver CAPTCHA en tus flujos de trabajo
Aprende cómo integrar CapSolver con n8n para resolver CAPTCHAs y crear flujos de trabajo de automatización confiables con facilidad.

Adélia Cruz
18-Mar-2026

Cómo resolver puzzles visuales en n8n con CapSolver
Resuelve CAPTCHAs visuales con el motor de visión de CapSolver en n8n. Maneja deslizadores, rotación, selección de objetos y OCR de GIF de forma inmediata.

Aloísio Vítor
18-Mar-2026

Cómo resolver el fingerprinting TLS en n8n con CapSolver
Resolver la huella dactilar TLS en n8n con CapSolver. Hacer que las solicitudes parezcan navegadores reales y evitar bloques de detección de bots.

Adélia Cruz
18-Mar-2026

Integración de CapSolver con Web MCP: Una guía para agentes autónomos
Mejora las capacidades de automatización web de tu agente de IA. Esta guía detalla cómo integrar CapSolver para una resolución eficiente de captchas dentro del marco Web MCP, garantizando operaciones confiables y conformes.

Sora Fujimoto
17-Mar-2026

