Como Resolver Captchas do Cloudflare Turnstile com Selenium
Como Resolver Captchas do Cloudflare Turnstile com Selenium
Adélia Cruz
Neural Network Developer
11-Oct-2024
Seu web scraper está tendo problemas com o Cloudflare bloqueando suas solicitações? Os CAPTCHAs Turnstile do Cloudflare são projetados para identificar e impedir tráfego automatizado, criando obstáculos significativos para web scraping e automação. No entanto, aproveitando um navegador headless como Selenium, você pode navegar por esses obstáculos de forma eficaz. Dito isso, configurações padrão do Selenium ainda podem acionar as defesas anti-bot sofisticadas do Cloudflare.
Neste blog, discutiremos várias técnicas eficazes para superar os CAPTCHAs Turnstile do Cloudflare usando Selenium
Entendendo os CAPTCHAs Turnstile do Cloudflare
Os CAPTCHAs Turnstile do Cloudflare são desafios avançados destinados a distinguir entre usuários humanos e bots automatizados. Diferentemente dos CAPTCHAs tradicionais, o Turnstile utiliza várias avaliações comportamentais e baseadas em interação, como análise de movimentos do mouse, padrões de cliques e outras métricas de interação, para determinar a legitimidade do usuário.
Por que escolher o Selenium?
Selenium é uma ferramenta robusta para automatizar navegadores da web, permitindo que você simule ações do usuário, como cliques, envios de formulários e navegação. No entanto, devido à sua natureza automatizada, configurações convencionais do Selenium ainda podem ser sinalizadas pelos sistemas de segurança do Cloudflare. Para gerenciar os CAPTCHAs Turnstile de forma eficaz, a integração do Selenium com ferramentas e técnicas adicionais pode melhorar significativamente o sucesso do seu web scraping.
Técnicas eficazes para resolver os CAPTCHAs Turnstile do Cloudflare com o Selenium
1. Implementando o CapSolver
Um dos métodos mais eficientes para resolver CAPTCHAs é utilizar um serviço de resolução de CAPTCHA como CapSolver. Este serviço utiliza algoritmos avançados e solucionadores humanos para resolver rápida e precisamente vários tipos de CAPTCHA, incluindo Cloudflare Turnstile.
Código Bônus
Está com dificuldades com a falha repetida na resolução completa do irritante captcha?
Descubra a resolução automática e perfeita de captchas com a tecnologia Auto Web Unblock da Capsolver, alimentada por IA!
Pegue seu Código Bônus para as melhores soluções de captcha; CapSolver: WEBS. Após resgatá-lo, você receberá um bônus extra de 5% após cada recarga, Ilimitado
Integre a API do CapSolver ao seu script Selenium.
Exemplo de Código:
pythonCopy
# pip install requests
import requests
import time
api_key = "YOUR_API_KEY" # sua chave de API do capsolver
site_key = "0x4XXXXXXXXXXXXXXXXX" # chave do site do seu site de destino
site_url = "https://www.yourwebsite.com" # url da página do seu site de destino
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("Falha na criação da tarefa:", res.text)
return
print(f"Obteve taskId: {task_id} / Obtendo resultado...")
while True:
time.sleep(1) # atraso
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("Resolução falhou! resposta:", res.text)
return
token = capsolver()
print(token)
Neste código, substitua YOUR_API_KEY, 0x4XXXXXXXXXXXXXXXXX e https://www.yourwebsite.com pela sua chave de API CapSolver real, a chave do site do site de destino e o URL da página que você está direcionando, respectivamente. Este script criará uma tarefa para resolver o CAPTCHA Turnstile e retornará o token da solução.
2. Usando um ChromeDriver não detectado
Para evitar detecção pelo Cloudflare, o uso de uma versão não detectada do ChromeDriver é crucial. Os sistemas anti-bot do Cloudflare podem facilmente reconhecer instâncias padrão do ChromeDriver, levando a desafios de CAPTCHA. Um ChromeDriver não detectado modifica a impressão digital e o comportamento do navegador para minimizar as chances de detecção.
Configure o Selenium para usar esta versão modificada.
Exemplo de Código:
pythonCopy
from undetected_chromedriver.v2 import Chrome, ChromeOptions
options = ChromeOptions()
options.add_argument('--headless') # Use o modo headless se necessário
driver = Chrome(options=options)
driver.get('https://example.com')
# Execute as ações necessárias e manipule o CAPTCHA
3. Utilizando o SeleniumBase
SeleniumBase é uma extensão para Selenium que aprimora a funcionalidade e a facilidade de uso para web scraping. Ele simplifica o gerenciamento de interações da web e automatiza tarefas complexas de forma mais eficaz.
Passos para Implementar:
Instale o SeleniumBase via pip:
bashCopy
pip install seleniumbase
Use os recursos do SeleniumBase para gerenciar interações da web e manipular CAPTCHAs.
Exemplo de Código:
pythonCopy
from seleniumbase import BaseCase
class MyTestClass(BaseCase):
def test_example(self):
self.open('https://example.com')
# Execute as ações necessárias e manipule o CAPTCHA
4. Empregando o Plugin Selenium Stealth
O plugin Selenium Stealth ajuda a mascarar seus esforços de automação, dificultando para o Cloudflare detectar o uso de bots. Este plugin modifica o comportamento do navegador para simular interações realistas do usuário.
Passos para Implementar:
Instale o plugin Selenium Stealth:
bashCopy
pip install selenium-stealth
Integre o plugin à sua configuração do Selenium.
Exemplo 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')
# Execute as ações necessárias e manipule o CAPTCHA
5. Utilizando Proxies Premium
Usar proxies premium pode ajudá-lo a evitar bloqueios de IP distribuindo seu tráfego entre vários endereços. Proxies de alta qualidade reduzem significativamente o risco de detecção e bloqueio pelo Cloudflare.
Passos para Implementar:
Adquira uma lista de proxies premium de um provedor confiável.
Configure o Selenium para usar esses proxies para solicitações da web.
Conclusão
Navegar pelos CAPTCHAs Turnstile do Cloudflare com sucesso requer uma combinação de técnicas e ferramentas avançadas. Integrando o CapSolver com o Selenium, utilizando versões não detectadas do ChromeDriver, aproveitando o SeleniumBase, empregando plugins furtivos e usando proxies premium, você pode aprimorar suas capacidades de web scraping, garantindo o cumprimento dos protocolos de segurança da web. Lembre-se sempre de seguir os padrões éticos e usar essas ferramentas de forma responsável em seus esforços de web scraping.
Declaração de Conformidade: As informações fornecidas neste blog são apenas para fins informativos. A CapSolver está comprometida em cumprir todas as leis e regulamentos aplicáveis. O uso da rede CapSolver para atividades ilegais, fraudulentas ou abusivas é estritamente proibido e será investigado. Nossas soluções de resolução de captcha melhoram a experiência do usuário enquanto garantem 100% de conformidade ao ajudar a resolver dificuldades de captcha durante a coleta de dados públicos. Incentivamos o uso responsável de nossos serviços. Para mais informações, visite nossos Termos de Serviço e Política de Privacidade.