CAPSOLVER
Blog
Cómo resolver reCAPTCHA con Puppeteer en PHP para web scraping

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

Logo of CapSolver

Aloísio Vítor

Image Processing Expert

28-Aug-2024

¡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.

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

ReCAPTCHA v2
Cómo ingresar correctamente el CAPTCHA y cómo identificar la clave de sitio de reCAPTCHA v2

Identificar la clave de sitio de ReCAPTCHA v2 es un desafío común al trabajar con implementaciones modernas de CAPTCHA. Este artículo explica por qué la clave de sitio es importante, por qué es difícil localizarla manualmente y cómo los servicios de reconocimiento de CAPTCHA simplifican el proceso. También presenta la extensión de Chrome de CapSolver, que detecta automáticamente los parámetros de ReCAPTCHA v2 y devuelve resultados estructurados, ayudando a los usuarios a trabajar de manera más eficiente con sitios web con CAPTCHA.

reCAPTCHA
Logo of CapSolver

Adélia Cruz

16-Dec-2025

solucionador de recaptcha
¿Qué es reCAPTCHA? ¿Dónde está el ejemplo de reCAPTCHA o la demo de reCAPTCHA?

Este artículo proporciona una visión general completa de reCAPTCHA, sus tipos comunes y una demo en vivo para ayudarte a entender cómo funciona. También muestra cómo resolver de manera eficiente reCAPTCHA v2 utilizando CapSolver, mejorando la automatización y los flujos de trabajo de desarrollo mientras

reCAPTCHA
Logo of CapSolver

Emma Foster

15-Dec-2025

Resolver reCAPTCHA V2 con Python
Cómo resolver reCAPTCHA v2 con Python

En este artículo, te mostraremos cómo resolver reCaptcha v2 con Python

reCAPTCHA
Logo of CapSolver

Adélia Cruz

09-Dec-2025

Resolver reCAPTCHA con JavaScript: Un tutorial completo
Resolver reCAPTCHA con JavaScript: Un tutorial completo

Aunque reCAPTCHA protege eficazmente el contenido web, puede que a veces obstaculice actividades legítimas, como la investigación, el análisis de datos u otras tareas de automatización orientadas al cumplimiento que implican interactuar con servicios web.

reCAPTCHA
Logo of CapSolver

Adélia Cruz

02-Dec-2025

Cómo resolver reCaptcha v3 Enterprise con Python
Cómo resolver reCAPTCHA v3 Empresarial con Python

Guía de Python para reCAPTCHA v3 Enterprise con técnicas de alto puntaje, opciones de proxy e integración con CapSolver para resultados estables de 0.7–0.9.

reCAPTCHA
Logo of CapSolver

Adélia Cruz

02-Dec-2025

Cómo resolver reCaptcha v3 con Node.JS
Cómo resolver reCAPTCHA v3 con Node.JS

En este artículo, te mostraremos cómo resolver reCaptcha v3 con Node.JS

reCAPTCHA
Logo of CapSolver

Adélia Cruz

28-Nov-2025