Cloudflare Turnstile é uma alternativa inteligente ao CAPTCHA projetada para verificar usuários sem desafios intrusivos. Diferente dos CAPTCHAs tradicionais que exigem seleção de imagens ou entrada de texto, o Turnstile executa desafios invisíveis no navegador para determinar se o visitante é humano. É amplamente adotado por sites que utilizam os serviços da Cloudflare e pode ser um obstáculo significativo para web scraping e fluxos de trabalho automatizados.
Antes de começar, certifique-se de ter o Python 3.7 ou superior instalado. Você também precisa de uma chave API NextCaptcha — cadastre-se no NextCaptcha para obter créditos de teste gratuitos. Em seguida, instale o SDK Python do NextCaptcha:
Primeiro, crie uma instância NextCaptchaAPI com sua chave API. Você pode encontrar sua chave de cliente no painel do NextCaptcha:
from nextcaptcha import NextCaptchaAPIapi = NextCaptchaAPI(client_key="YOUR_CLIENT_KEY")
Depois, chame o método turnstile com a URL do site alvo e a chave do site Turnstile. A chave pode ser encontrada no atributo data-sitekey do widget Turnstile na página alvo:
Se preferir não usar o SDK, você pode chamar a API NextCaptcha diretamente com a biblioteca requests. Essa abordagem dá controle total sobre as requisições HTTP:
Essa abordagem envolve duas chamadas de API: createTask para enviar o desafio Turnstile, e getTaskResult para consultar a solução. Um intervalo de consulta de 3 segundos é recomendado para evitar limites de taxa.
Neste guia, cobrimos dois métodos para contornar o Cloudflare Turnstile com Python: o SDK NextCaptcha para uma abordagem simples, e a API direta para controle total. O NextCaptcha resolve automaticamente o desafio Turnstile e retorna um token válido. Para mais detalhes, confira os links abaixo: