C¨®mo resolver los captchas de Cloudflare Turnstile con Selenium
C¨®mo resolver los captchas de Cloudflare Turnstile con Selenium
Alo¨ªsio V¨ªtor
Image Processing Expert
11-Oct-2024
?Tu web scraper est¨¢ luchando contra el bloqueo de Cloudflare a tus solicitudes?
Las captchas Turnstile de Cloudflare est¨¢n dise?adas para identificar e impedir el tr¨¢fico automatizado, creando obst¨¢culos importantes para el web scraping y la automatizaci¨®n. Sin embargo, al utilizar un navegador sin cabeza como Selenium, puedes superar estos obst¨¢culos de manera efectiva. Dicho esto, las configuraciones est¨¢ndar de Selenium a¨²n pueden activar las sofisticadas defensas antibot de Cloudflare.
En este blog, analizaremos varias t¨¦cnicas efectivas para superar las captchas Turnstile de Cloudflare utilizando Selenium.
Comprender las captchas Turnstile de Cloudflare
Las captchas Turnstile de Cloudflare son desaf¨ªos avanzados destinados a distinguir entre usuarios humanos y bots automatizados. A diferencia de las captchas tradicionales, Turnstile utiliza diversas evaluaciones basadas en el comportamiento y la interacci¨®n, como el an¨¢lisis de los movimientos del rat¨®n, los patrones de clics y otras m¨¦tricas de interacci¨®n, para determinar la legitimidad del usuario.
?Por qu¨¦ elegir Selenium?
Selenium es una herramienta robusta para automatizar navegadores web, lo que te permite simular acciones del usuario como clics, env¨ªos de formularios y navegaci¨®n. Sin embargo, debido a su naturaleza automatizada, las configuraciones convencionales de Selenium a¨²n pueden ser se?aladas por los sistemas de seguridad de Cloudflare. Para gestionar eficazmente las captchas Turnstile, la integraci¨®n de Selenium con herramientas y t¨¦cnicas adicionales puede mejorar significativamente el ¨¦xito de tu web scraping.
T¨¦cnicas efectivas para resolver las captchas Turnstile de Cloudflare con Selenium
1. Implementar CapSolver
Uno de los m¨¦todos m¨¢s eficientes para resolver captchas es utilizar un servicio de resoluci¨®n de captchas como CapSolver. Este servicio utiliza algoritmos avanzados y solucionadores humanos para resolver r¨¢pida y precisamente varios tipos de captchas, incluido Cloudflare Turnstile.
C¨®digo de bonificaci¨®n
?Luchas contra el fallo repetido para resolver completamente la irritante captcha?
?Descubre la resoluci¨®n autom¨¢tica de captchas sin problemas con la tecnolog¨ªa Auto Web Unblock impulsada por IA de Capsolver!
Reclama tu C¨®digo de bonificaci¨®n para las mejores soluciones de captchas; CapSolver: WEBS. Despu¨¦s de canjearlo, obtendr¨¢s un bono extra del 5% despu¨¦s de cada recarga, Ilimitado
Pasos para implementar:
Reg¨ªstrate en una cuenta de CapSolver.
Integra la API de CapSolver en tu script de Selenium.
Ejemplo de c¨®digo:
pythonCopy
# pip install requests
import requests
import time
api_key = "TU_CLAVE_API" # tu clave api de capsolver
site_key = "0x4XXXXXXXXXXXXXXXXX" # clave del sitio de tu sitio objetivo
site_url = "https://www.tusitio web.com" # url de la p¨¢gina de tu sitio objetivo
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'AntiTurnstileTaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url,
"metadata": {
"action": "" # opcional
}
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("Error al crear la tarea:", res.text)
return
print(f"Se obtuvo taskId: {task_id} / Obteniendo el resultado...")
while True:
time.sleep(1) # retraso
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('token')
if status == "failed" or resp.get("errorId"):
print("?La resoluci¨®n fall¨®! respuesta:", res.text)
return
token = capsolver()
print(token)
En este c¨®digo, reemplaza TU_CLAVE_API, 0x4XXXXXXXXXXXXXXXXX y https://www.tusitio web.com con tu clave API real de CapSolver, la clave del sitio del sitio objetivo y la URL de la p¨¢gina a la que te diriges, respectivamente. Este script crear¨¢ una tarea para resolver la captcha Turnstile y devolver¨¢ el token de soluci¨®n.
2. Utilizando un ChromeDriver no detectado
Para evitar la detecci¨®n por parte de Cloudflare, es fundamental emplear una versi¨®n no detectada de ChromeDriver. Los sistemas antibot de Cloudflare pueden reconocer f¨¢cilmente las instancias est¨¢ndar de ChromeDriver, lo que lleva a desaf¨ªos de captcha. Un ChromeDriver no detectado modifica la huella digital y el comportamiento del navegador para minimizar las posibilidades de detecci¨®n.
Pasos para implementar:
Descarga un paquete de ChromeDriver no detectado, como undetected-chromedriver.
Configura Selenium para que utilice esta versi¨®n modificada.
Ejemplo de c¨®digo:
pythonCopy
from undetected_chromedriver.v2 import Chrome, ChromeOptions
options = ChromeOptions()
options.add_argument('--headless') # Utiliza el modo sin cabeza si es necesario
driver = Chrome(options=options)
driver.get('https://example.com')
# Realiza las acciones necesarias y maneja la captcha
3. Utilizando SeleniumBase
SeleniumBase es una extensi¨®n de Selenium que mejora la funcionalidad y la facilidad de uso para el web scraping. Simplifica la gesti¨®n de las interacciones web y automatiza las tareas complejas de forma m¨¢s eficaz.
Pasos para implementar:
Instala SeleniumBase mediante pip:
bashCopy
pip install seleniumbase
Utiliza las funciones de SeleniumBase para gestionar las interacciones web y manejar las captchas.
Ejemplo de c¨®digo:
pythonCopy
from seleniumbase import BaseCase
class MyTestClass(BaseCase):
def test_example(self):
self.open('https://example.com')
# Realiza las acciones necesarias y maneja la captcha
4. Utilizando el plugin Selenium Stealth
El plugin Selenium Stealth ayuda a enmascarar tus esfuerzos de automatizaci¨®n, haciendo m¨¢s dif¨ªcil que Cloudflare detecte el uso de bots. Este plugin modifica el comportamiento del navegador para simular interacciones realistas del usuario.
Pasos para implementar:
Instala el plugin Selenium Stealth:
bashCopy
pip install selenium-stealth
Integra el plugin con tu configuraci¨®n de Selenium.
Ejemplo de c¨®digo:
pythonCopy
from selenium import webdriver
from selenium_stealth import stealth
driver = webdriver.Chrome()
stealth(driver,
languages=["en-US", "en"],
vendor="Google Inc.",
platform="Windows",
webgl_vendor="Google Inc.",
render="WebKit",
fix_hairline=True
)
driver.get('https://example.com')
# Realiza las acciones necesarias y maneja la captcha
5. Utilizando proxies premium
El uso de proxies premium puede ayudarte a evitar las prohibiciones de IP al distribuir tu tr¨¢fico a trav¨¦s de m¨²ltiples direcciones. Los proxies de alta calidad reducen significativamente el riesgo de detecci¨®n y bloqueo por parte de Cloudflare.
Pasos para implementar:
Adquiere una lista de proxies premium de un proveedor de confianza.
Configura Selenium para que utilice estos proxies para las solicitudes web.
Conclusi¨®n
Navegar con ¨¦xito las captchas Turnstile de Cloudflare requiere una combinaci¨®n de t¨¦cnicas y herramientas avanzadas. Al integrar CapSolver con Selenium, utilizar versiones de ChromeDriver no detectadas, aprovechar SeleniumBase, emplear plugins stealth y utilizar proxies premium, puedes mejorar tus capacidades de web scraping al mismo tiempo que te aseguras de cumplir con los protocolos de seguridad web. Recuerda siempre cumplir con las normas ¨¦ticas y utilizar estas herramientas de forma responsable en tus esfuerzos de web scraping.
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.