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
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:
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"}
Configure su entorno
Instale los paquetes necesarios:
bashCopy
npm install axios puppeteer-core
Escriba el c¨®digo de integraci¨®n
phpCopy
<?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", [
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.