Explicado
Um CAPTCHA é o desafio de detecção de bots que você vê quando um site acha que seu tráfego pode ser automatizado. A forma clássica é uma imagem de texto distorcido que você precisa ler; formas modernas são quebra-cabeças de grade de imagens ('selecione todos os quadrados com semáforos'), desafios de áudio e CAPTCHAs comportamentais / invisíveis que observam como você interage com a página e silenciosamente classificam você como humano ou bot antes mesmo de você saber que há uma verificação.
Os principais fornecedores de CAPTCHA hoje são o Google reCAPTCHA (v2, v3 e o nível Enterprise) e o hCaptcha, ambos amplamente usados por trás de stacks anti-bot como Cloudflare e Akamai. A Cloudflare também opera seu próprio desafio Turnstile como alternativa ao reCAPTCHA / hCaptcha. Cada sistema usa uma combinação diferente de quebra-cabeças de imagem, fingerprinting de navegador, análise de movimento de mouse/teclado e reputação de IP para calcular uma pontuação de 'probabilidade de ser humano'.
Para fluxos de trabalho de scraping e coleta de dados, a resposta certa a um desafio de CAPTCHA não é resolvê-lo, é evitar acioná-lo em primeiro lugar. Os CAPTCHAs disparam quando a requisição parece suspeita (IP de datacenter, cabeçalhos ausentes, fingerprint incompatível, ritmo em rajadas), então a solução mais limpa é higiene: IPs residenciais / móveis, cabeçalhos de navegador modernos, temporização realista e fingerprints de TLS adequados. Quando um CAPTCHA aparece, alternar para um IP novo geralmente encontra um caminho limpo.
Como Funciona
Quando uma requisição chega, o site (ou seu fornecedor anti-bot) calcula uma pontuação de risco usando sinais como: reputação do IP de origem (datacenter? abuso recente? país?), fingerprint do navegador (User-Agent, sec-ch-ua, tamanho da tela, plugins), fingerprint do handshake TLS (JA3/JA4), sinais comportamentais (movimento do mouse, tempo entre teclas, tempo gasto na página) e reputação histórica de cookies / tokens.
Se a pontuação estiver abaixo do limiar de confiança humana, o sistema insere um desafio CAPTCHA na resposta. O desafio exige que o cliente realize uma tarefa (ler texto, clicar em imagens correspondentes, passar por uma verificação comportamental invisível) e envie um token de volta ao servidor. Sem um token válido, o servidor rejeita as requisições subsequentes.