ProductosIntegracionesRecursosDocumentaciónPrecios
Empezar ahora

© 2026 CapSolver. All rights reserved.

Contáctenos

Slack: lola@capsolver.com

Productos

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Extensión de navegador
  • Más tipos de CAPTCHA

Integraciones

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Socios
  • Ver todas las integraciones

Recursos

  • Programa de referidos
  • Documentación
  • Referencia de API
  • Blog
  • Preguntas frecuentes
  • Glosario
  • Estado

Legal

  • Términos de servicio
  • Política de privacidad
  • Política de reembolso
  • No vender mi información personal
Blog/reCAPTCHA/Cómo resolver reCAPTCHA con Puppeteer en PHP para la extracción de datos web
Aug28, 2024

Cómo resolver reCAPTCHA con Puppeteer en PHP para la extracción de datos web

Aloísio Vítor

Aloísio Vítor

Image Processing Expert

¡Has chocado contra un muro con reCAPTCHA mientras raspas datos? ¡Yo también he estado ahí!

Esos desafíos de CAPTCHA pueden convertir una tarea de raspado simple en un obstáculo importante. Pero no te preocupes, tengo una solución que te ayudará a superar esas barreras con facilidad.

En este blog, te guiaré a través del uso de Puppeteer, una poderosa biblioteca de Node.js, para abordar los desafíos de reCAPTCHA. Luego, integraremos esto con PHP para hacer tus tareas de raspado web más fluidas y eficientes. ¿Listo para abordar reCAPTCHA y obtener tus datos sin problemas? ¡Vamos a entrar!

¿Qué es reCAPTCHA al raspar la web?

Para darte algo de contexto, reCAPTCHA es un sistema diseñado para proteger los sitios web del abuso automatizado. Pide a los usuarios que completen tareas que son fáciles para los humanos pero desafiantes para los bots, como identificar objetos en imágenes o marcar una casilla. Si bien estos desafíos son excelentes para la seguridad, pueden ser un verdadero dolor de cabeza para el raspado web. Estos son los tipos básicos que puedes encontrar:

  • reCAPTCHA v2: Esta versión es conocida por la casilla "No soy un robot" y los desafíos basados ​​en imágenes. Los usuarios pueden necesitar hacer clic en imágenes o completar acciones específicas para demostrar que son humanos. Es eficaz para distinguir entre usuarios reales y bots.
  • reCAPTCHA v3: Esta versión opera en segundo plano. En lugar de requerir interacción del usuario, analiza el comportamiento del usuario en todo el sitio y asigna una puntuación de riesgo. Esta puntuación ayuda a los sitios web a determinar si deben otorgar o bloquear el acceso en función de la probabilidad de que el usuario sea un bot.

  • reCAPTCHA Enterprise: Para empresas con requisitos de seguridad más exigentes, reCAPTCHA Enterprise ofrece protección avanzada contra amenazas sofisticadas. Incluye funciones como análisis de riesgos mejorado, puntuación personalizable y escalabilidad mejorada, lo que lo hace adecuado para organizaciones que manejan información confidencial u operaciones críticas.

¿Te cuesta completar el molesto captcha una y otra vez?

¡Descubre la resolución automática de captcha sin problemas con la tecnología Auto Web Unblock de Capsolver impulsada por IA!

Reclama tu Código de Bono para las mejores soluciones de captcha; CapSolver: WEBS. Después de canjearlo, obtendrás un bono adicional del 5% después de cada recarga, ¡ilimitado!

Comprender estas versiones nos ayudará a navegar los desafíos de reCAPTCHA de manera efectiva. Profundicemos en cómo podemos usar Puppeteer y CapSolver para manejar estos desafíos y optimizar nuestros esfuerzos de raspado web.

Cómo CapSolver puede ayudar a resolver reCAPTCHA

CapSolver es una solución robusta para manejar desafíos de CAPTCHA, incluido reCAPTCHA. A continuación, se muestra cómo puedes integrar CapSolver en tu flujo de trabajo para simplificar la resolución de CAPTCHA:

  1. Recuperar la clave del sitio
    • Busca en los registros de solicitudes del navegador una solicitud como /recaptcha/api2/reload?k=6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf. El parámetro k= es la clave del sitio que necesitas.
    • Si proporcionas una clave incorrecta, recibirás un mensaje de error como:
      Copy
      ¡Error al resolver! respuesta: {"errorId":1,"errorCode":"ERROR_INVALID_TASK_DATA","errorDescription":"Clave de sitio no válida","taskId":"1cd1e687-96dd-4f14-b8ef-18b5d144d9b8","status":"failed"}
  • Si utiliza la versión incorrecta de reCAPTCHA (V2 o V3), o si hay una discrepancia entre el tipo de sitio de destino y el tipo de solicitud de API, es posible que vea:
    Copy
    ¡Resolver fallado! respuesta: {"errorId":1,"errorCode":"ERROR_CAPTCHA_SOLVE_FAILED","errorDescription":"Error al resolver el captcha: 1001","taskId":"da450cbc-ff9d-439d-908a-77e7eb8852dd","status":"failed"}
  1. Configure su entorno

    • Instale los paquetes necesarios:
      bash Copy
      npm install axios puppeteer-core
  2. Escriba el código de integración

php Copy
<?php

require_once 'vendor/autoload.php';
use Nesk\Puphpeteer\Puppeteer;
use Nesk\Rialto\Data\JsFunction;
use GuzzleHttp\Client;

$puppeteer = new Puppeteer;
$browser = $puppeteer->launch();

// TODO: configure su configuración
$api_key = "SU_CLAVE_API"; // su clave API de CapSolver
$site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"; // clave del sitio de su sitio de destino
$site_url = "https://www.google.com/recaptcha/api2/demo"; // URL de la página de su sitio de destino

function capsolver()
{
    global $api_key, $site_key, $site_url;
    $client = new Client();
    $payload = [
        'clientKey' => $api_key,
        'task' => [
            'type' => 'ReCaptchaV2TaskProxyLess',
            'websiteKey' => $site_key,
            'websiteURL' => $site_url,
        ]
    ];

    try {
        $response = $client->post("https://api.capsolver.com/createTask", [
            'json' => $payload
        ]);
        $data = json_decode($response->getBody(), true);
        $task_id = $data['taskId'] ?? null;
        if (!$task_id) {
            echo "Error al crear la tarea: " . json_encode($data) . PHP_EOL;
            return null;
        }
        echo "Obtuvo taskId: " . $task_id . PHP_EOL;

        while (true) {
            sleep(1);

            $getResultPayload = [
                'clientKey' => $api_key,
                'taskId' => $task_id
            ];
            $resp = $client->post("https://api.capsolver.com/getTaskResult", [
php Copy
<?php

function capsolver()
{
    try {
        $client = new \GuzzleHttp\Client();
        $resp = $client->post('https://api.capsolver.com/createTask', [
            'json' => $getResultPayload
            ]);
        $data = json_decode($resp->getBody(), true);
        $status = $data['status'] ?? null;

        if ($status === "ready") {
            return $data['solution']['gRecaptchaResponse'];
        }
        if ($status === "failed" || isset($data['errorId'])) {
            echo "Solve failed! response: " . json_encode($data) . PHP_EOL;
            return null;
        }
    } catch (\Exception $e) {
        echo "Error: " . $e->getMessage() . PHP_EOL;
        return null;
    }
}

function reqSite()
{
    global $site_url, $browser;
    $token = capsolver();
    if ($token === null) {
        return;
    }
    echo $token . PHP_EOL;

    $page = $browser->newPage();
    $page->goto($site_url);
    $evaluate_script = <<<EOD
        document.getElementById("g-recaptcha-response").value="$token";
        onSuccess("$token");
    EOD;
    $page->evaluate(JsFunction::createWithBody($evaluate_script));
    $product_element = $page->querySelector('#recaptcha-demo-submit');
    if ($product_element instanceof ElementHandle) {
        $product_element->click();
    } else {
        echo 'Element not found.' . PHP_EOL;
    }
}

reqSite();

Ya sea que estés trabajando con reCAPTCHA v2, v3 o Enterprise, integrar CapSolver con Puppeteer puede simplificar tu flujo de trabajo y mejorar la eficiencia de tu raspado. Si te encuentras con algún problema o necesitas más ayuda, tanto CapSolver como Puppeteer ofrecen documentación y soporte completos para ayudarte a superar cualquier desafío.

Ver más

reCAPTCHAApr 16, 2026

¿Clave de sitio o token inválido? Causas y guía de solución

¿Enfrentando errores como "reCAPTCHA Clave de sitio inválida" o "token de reCAPTCHA inválido"? Descubre las causas comunes, soluciones paso a paso y consejos de solución de problemas para resolver los errores de verificación de reCAPTCHA. Aprende cómo solucionar el error de verificación de reCAPTCHA, por favor intente de nuevo.

Aloísio Vítor
Aloísio Vítor
reCAPTCHAMar 25, 2026

Cómo resolver reCAPTCHA v2 Python y API

Aprende a resolver reCAPTCHA v2 usando Python y API. Este guía completa cubre métodos con y sin proxy con código listo para producción para automatización.

Contenido

Aloísio Vítor
Aloísio Vítor
reCAPTCHAFeb 27, 2026

Cómo automatizar la resolución de reCAPTCHA para plataformas de benchmarking de IA

Aprende a automatizar reCAPTCHA v2 y v3 para la evaluación de IA. Utiliza CapSolver para optimizar la recopilación de datos y mantener pipelines de IA de alto rendimiento.

Rajinder Singh
Rajinder Singh
reCAPTCHAFeb 12, 2026

Cómo solucionar problemas comunes de reCAPTCHA en el scraping web

Aprende a resolver problemas comunes de reCAPTCHA en el web scraping. Descubre soluciones prácticas para reCAPTCHA v2 y v3 para mantener flujos de trabajo de recolección de datos sin interrupciones.

Ethan Collins
Ethan Collins