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
Passos para Implementar:
Cadastre-se em uma conta CapSolver.
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.
Passos para Implementar:
Baixe um pacote ChromeDriver n?o detectado, como undetected-chromedriver.
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.