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

Error de Cloudflare 1006, 1007, 1008 Solución para resolver | Cómo arreglarlo
¿Tienes problemas con errores de Cloudflare 1006, 1007 o 1008? Aprende soluciones prácticas para resolver estos rechazos de acceso y mejorar tu experiencia de rastreo web.

Ethan Collins
05-Dec-2025

IA-MLLE: La Solución del Futuro para el Control de Riesgos, Reconocimiento de Imágenes y Resolución de CAPTCHA
Una exploración profunda de cómo los LLMs reconfiguran la resolución de CAPTCHA gráficos, combinando el razonamiento de cero shots con la precisión de redes neuronales convolucionales para el control de riesgos moderno.

Adélia Cruz
05-Dec-2025

Cómo resolver captchas al realizar scraping web con Scrapling y CapSolver
Scrapling + CapSolver permite el scraping automatizado con ReCaptcha v2/v3 y bypass de Cloudflare Turnstile.

Ethan Collins
05-Dec-2025

Cambiar el Agente de Usuario en Selenium | Pasos y Mejores Prácticas
Cambiar el Agente de Usuario en Selenium es un paso crucial para muchas tareas de scraping web. Ayuda a disfrazar el script de automatización como un navegador regular...

Adélia Cruz
05-Dec-2025

Cómo identificar si `action` es necesario para resolver Cloudflare Turnstile usando la extensión de CapSolver
Aprende a identificar la acción para resolver eficazmente el captcha de Cloudflare Turnstile. Sigue nuestra guía paso a paso sobre cómo usar las herramientas y técnicas de Capsolver.

Adélia Cruz
05-Dec-2025

Descubre el Poder de 9Proxy: Una Revisión Completa
En este artículo, te mostraremos qué es 9proxy y los servicios que ofrecen.

Emma Foster
04-Dec-2025

