
Adélia Cruz
Neural Network Developer

Este tutorial lo guiará a través del proceso de resolver reCAPTCHAs de Google en Puppeteer usando CapSolver.
CapSolver es un servicio de resolución de CAPTCHA que le ayuda a resolver CAPTCHAs.
Utilizamos algoritmos de resolución de CAPTCHA basados en inteligencia artificial, lo que resulta en una velocidad de resolución más rápida y un costo significativamente reducido, ofreciendo una excelente experiencia para desarrolladores.
El objetivo será resolver el CAPTCHA ubicado en recaptcha-demo.appspot.com usando CapSolver.

Durante el tutorial, tomaremos los siguientes pasos para resolver el CAPTCHA anterior:
Para comenzar, necesitamos instalar las siguientes dependencias para este tutorial:
Instale estas dependencias ejecutando el siguiente comando:
python -m pip install pyppeteer capsolver-python
Ahora, cree un archivo llamado main.py donde escribiremos el código de Python para resolver CAPTCHAs.
touch main.py
La clave del sitio es un identificador único proporcionado por Google que identifica únicamente cada CAPTCHA.
Para resolver el CAPTCHA, es necesario enviar la clave del sitio a CapSolver.
Encontremos la clave del sitio del Formulario CAPTCHA siguiendo estos pasos:

Ctrl/Cmd + Shift + I.Elements y busque data-sitekey. Copie el valor del atributo.
Para resolver CAPTCHAs usando CapSolver, debe crear una cuenta en CapSolver, agregar fondos a su cuenta y obtener una clave de API. Siga estos pasos para configurar su cuenta en CapSolver:



Ahora procederemos a resolver el CAPTCHA usando CapSolver. El proceso general implica tres pasos:
Lea los siguientes fragmentos de código para entender estos pasos.
Iniciar el navegador y visitar la página del CAPTCHA:
# Iniciar el navegador.
browser = await launch({'headless': False})
# Cargar la página objetivo.
captcha_page_url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
page = await browser.newPage()
await page.goto(captcha_page_url)
Resolver el CAPTCHA usando CapSolver:
# Resolver el reCAPTCHA usando CapSolver.
capsolver = RecaptchaV2Task("TU_CLAVE_DE_API")
site_key = "6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9"
task_id = capsolver.create_task(captcha_page_url, site_key)
result = capsolver.join_task_result(task_id)
# Obtener el código resuelto del reCAPTCHA.
code = result.get("gRecaptchaResponse")
Establecer el CAPTCHA resuelto en el formulario y enviarlo:
# Establecer el código resuelto del reCAPTCHA en el formulario.
recaptcha_response_element = await page.querySelector('#g-recaptcha-response')
await page.evaluate(f'(element) => element.value = "{code}"', recaptcha_response_element)
# Enviar el formulario.
submit_btn = await page.querySelector('button[type="submit"]')
await submit_btn.click()
A continuación se muestra el código completo para el tutorial, que resolverá el CAPTCHA usando CapSolver.
import asyncio
from pyppeteer import launch
from capsolver_python import RecaptchaV2Task
# El siguiente código resuelve un reCAPTCHA v2 usando CapSolver.
async def main():
# Iniciar el navegador.
browser = await launch({'headless': False})
# Cargar la página objetivo.
captcha_page_url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
page = await browser.newPage()
await page.goto(captcha_page_url)
# Resolver el reCAPTCHA usando CapSolver.
print("Resolviendo el CAPTCHA")
capsolver = RecaptchaV2Task("TU_CLAVE_DE_API")
site_key = "6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9"
task_id = capsolver.create_task(captcha_page_url, site_key)
result = capsolver.join_task_result(task_id)
# Obtener el código resuelto del reCAPTCHA.
code = result.get("gRecaptchaResponse")
print(f"CAPTCHA resuelto correctamente. El código de resolución es {code}")
# Establecer el código resuelto del reCAPTCHA en el formulario.
recaptcha_response_element = await page.querySelector('#g-recaptcha-response')
await page.evaluate(f'(element) => element.value = "{code}"', recaptcha_response_element)
# Enviar el formulario.
submit_btn = await page.querySelector('button[type="submit"]')
await submit_btn.click()
# Pausar la ejecución para que pueda ver la pantalla después de la subida antes de cerrar el controlador
input("La subida del CAPTCHA fue exitosa. Presione enter para continuar")
# Cerrar el navegador.
await browser.close()
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
Pegue el código anterior en su archivo main.py. Reemplace TU_CLAVE_DE_API con su clave de API y ejecute el código.
Observará que el CAPTCHA se resolverá y se le mostrará una página de éxito 🥳.

¡Felicidades! Has aprendido correctamente cómo resolver CAPTCHAs usando CapSolver. Estos son los aprendizajes clave de este tutorial:
Gracias por su tiempo. 🙏 ¡Le deseamos buena suerte en su viaje de automatización! 🚀
Utilizamos algoritmos de resolución de CAPTCHA basados en inteligencia artificial en lugar de resolutores humanos, lo que resulta en un costo significativamente más bajo para resolver CAPTCHAs. Por lo tanto, nuestras tarifas son muy competitivas en el mercado.
Por ejemplo, el costo de resolver CAPTCHAs de Google v2/v3 oscila entre $0.8 y $1.
Para obtener más información sobre nuestros precios, le invitamos a visitar nuestra página de precios aquí.
En este tutorial, resolvimos reCAPTCHA de Google V2, pero es probable que su sitio web objetivo esté usando reCAPTCHA de Google V3.
Al resolver reCAPTCHA de Google V3, es importante asegurarse de que la dirección IP y el agente de usuario utilizados para enviar el CAPTCHA coincidan con los utilizados para resolverlo.
Una vez que tenga disponibles proxies residenciales, puede actualizar el código de la siguiente manera para resolver correctamente el CAPTCHA:
browser = await launch({'args': ['--proxy-server=ip:puerto'], 'headless': False})
capsolver = RecaptchaV2Task("TU_CLAVE_DE_API")
capsolver.set_proxy(proxy_address='proxy_ip', proxy_port='proxy_puerto', proxy_login='usuario', proxy_password='contraseña')
browser_useragent = browser.userAgent()
capsolver.set_user_agent(browser_useragent)
Aprende a resolver desafíos de AWS WAF y CAPTCHAs sin navegador. Utiliza la API de CapSolver para generar tokens y evadir códigos de estado 405.

Configurar el raspado de web en Linux con Python, proxies y manejo de CAPTCHA. Una guía práctica para desarrolladores que cubre Scrapy, Playwright, CapSolver y tuberías de datos.

Aprende qué desencadena el error de Cloudflare 1020 Acceso denegado, cómo funciona el Firewall de Aplicaciones Web y la detección de bots, y cómo los desarrolladores pueden reducir los falsos positivos en flujos de trabajo de automatización legítimos.
