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

Raspado de web en Node.js: Usando Node Unblocker y CapSolver
Domina el raspado web en Node.js utilizando Node Unblocker para evadir restricciones y CapSolver para resolver CAPTCHAs. Este guía proporciona estrategias avanzadas para una extracción de datos eficiente y confiable.

Aloísio Vítor
04-Feb-2026

Crawl4AI vs Firecrawl: Comparación completa y Revisión de 2026
Compara Crawl4AI vs Firecrawl en 2026. Descubre las características, precios y rendimiento de estas herramientas de scraping web de IA para la extracción de markdown lista para LLM.

Adélia Cruz
04-Feb-2026

Cómo resolver captcha en EasySpider con la integración de CapSolver
EasySpider es una herramienta visual de scraping web y automatización de navegadores, y cuando se combina con CapSolver, puede resolver de manera confiable los CAPTCHAs como reCAPTCHA v2 y Cloudflare Turnstile, facilitando la extracción de datos automatizada sin interrupciones en todo tipo de sitios web.

Adélia Cruz
04-Feb-2026

Cómo resolver reCAPTCHA v2 en Relevance AI con integración de CapSolver
Construye una herramienta de Relevance AI para resolver reCAPTCHA v2 utilizando CapSolver. Automatiza los envíos de formularios a través de API sin automatización de navegadores.

Aloísio Vítor
03-Feb-2026

Herramientas de Scraping de Datos Instantáneo: Formas Rápidas para Extraer Datos de la Web Sin Código
Descubre las mejores herramientas de scraping para 2026. Aprende formas rápidas de extraer datos de la web sin código usando las mejores extensiones y APIs para la extracción automatizada.

Rajinder Singh
28-Jan-2026

Raspado Web de Artículos de Noticias con Python (Guía para 2026)
Domina el scraping web de artículos de noticias con Python en 2026. Aprende a resolver reCAPTCHA v2/v3 con CapSolver y construye pipelines de datos escalables.

Adélia Cruz
28-Jan-2026

