///
Como Resolver CAPTCHAs de Imagem em Web Scraping em 2025: Um Guia Detalhado e Principais Recomendações
Equipe CapMonster Cloud
Equipe CapMonster Cloud
Especialistas em automação
February 19, 2025
12 min

Como Resolver CAPTCHAs de Imagem em Web Scraping em 2025: Um Guia Detalhado e Principais Recomendações

Os CAPTCHAs de imagem são uma das tecnologias de proteção de sites mais populares. Embora recentemente o foco tenha se deslocado para métodos invisíveis—frequentemente, a verificação humana ocorre em segundo plano, e os usuários podem nem perceber que um site possui proteção. No entanto, os CAPTCHAs de imagem ainda são amplamente utilizados, especialmente em casos onde a verificação em segundo plano falha—o sistema suspeita do usuário e solicita uma verificação visual adicional, como visto com o reCAPTCHA.

Em web scraping e outras tarefas relacionadas à internet, encontrar esse obstáculo é comum. No entanto, saber como contornar os CAPTCHAs e usar as ferramentas certas permite uma extração de dados contínua e sem interrupções de sites. Neste artigo, exploraremos o que são os CAPTCHAs de imagem, seus tipos e como lidar com eles em web scraping.

robots
Comece agora e automatize sua solução reCAPTCHA v2

O que São os CAPTCHAs de Imagem

CAPTCHAs de imagem (Image CAPTCHA) são um método de verificação de bots onde o usuário deve completar uma tarefa envolvendo imagens. Isso pode incluir selecionar objetos específicos (por exemplo, carros ou semáforos), digitar caracteres de uma imagem distorcida, montar quebra-cabeças ou rotacionar fragmentos de imagens para suas posições corretas.

Tipos Comuns de CAPTCHAs de Imagem

Ao trabalhar na internet, você pode encontrar diversos tipos de CAPTCHAs de imagem. Vamos dar uma olhada nos mais populares:

reCAPTCHA V2

Este é o CAPTCHA clássico do Google, onde o usuário precisa clicar em "Não sou um robô". Se o algoritmo confiar no usuário, o CAPTCHA é imediatamente considerado resolvido. Caso contrário, um teste baseado em imagem aparecerá.

Desafio de imagem reCAPTCHA v2 após clicar em Não sou um robô
Exemplo de grade de seleção de imagens reCAPTCHA v2

ImageToText

Esse tipo de CAPTCHA exige que o usuário decifre o texto de uma imagem e o insira em um campo.

CAPTCHA ImageToText com texto distorcido

CAPTCHAs de Imagem Complexos (ComplexImage)


O CAPTCHA ComplexImage é um CAPTCHA de imagem onde o usuário deve completar uma tarefa não convencional. Ele é mais difícil do que os CAPTCHAs de imagem regulares, pois exige analisar, mover ou alterar elementos da imagem. Vamos ver alguns exemplos de tais tarefas:

  • Rotação de Imagem (Rotate CAPTCHA)

O usuário precisa rotacionar a imagem para a orientação correta:

CAPTCHA Rotate que exige correção da orientação da imagem
Exemplo de tarefa de rotação de imagem no Rotate CAPTCHA
  • Seleção de Objetos

O usuário precisa clicar em objetos específicos, selecionando todos os itens de um determinado tipo (por exemplo, animais, frutas, etc.). Ou, como neste caso, encontrar todos os blocos com o número requerido:

CAPTCHA de seleção de objetos com grade de imagens
  • Puzzle CAPTCHA

O usuário precisa arrastar uma parte da imagem para a posição correta:

CAPTCHA Puzzle com arrastar e soltar

Sim, todos esses tipos de verificações são difíceis de contornar automaticamente, mas felizmente, existem serviços especiais como o CapMonster Cloud que podem facilmente e rapidamente lidar com essa tarefa. Para integrar seu scraper com o CapMonster Cloud, você só precisa obter uma chave de API de sua conta pessoal e criar uma tarefa para resolver e receber o resultado do servidor. Você também pode contornar essas verificações diretamente no navegador—basta baixar e instalar a extensão para Chrome ou Firefox.

Como Resolver o reCAPTCHA V2

Nosso serviço resolve o reCAPTCHA V2 utilizando dois métodos – token e cliques:

  • Método Token – você recebe uma g-recaptcha-response pronta, que pode ser inserida diretamente no formulário e enviada. Este método é mais rápido e conveniente para automação e scripts.
  • Método de Clique – aqui, as ações do usuário são simuladas: clicando na caixa de seleção "Não sou um robô", resolvendo tarefas adicionais (caso apareçam) e confirmando o CAPTCHA. Este método é útil se for necessário emular o comportamento real de um usuário.

Dependendo do método escolhido, você precisará criar a tarefa corretamente. Aqui está um exemplo de requisição para criar uma tarefa e receber o resultado para o método de token:

POST https://api.capmonster.cloud/createTask

{
  "clientKey":"API_KEY",
  "task": {
	"type":"RecaptchaV2TaskProxyless",
	"websiteURL":"https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high",
	"websiteKey":"6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd"
  }
}

Você precisará especificar o tipo de CAPTCHA (com ou sem proxy), a página de destino com o CAPTCHA e o websiteKey – uma chave especial de identificação do CAPTCHA. Aqui, você pode encontrar um guia detalhado sobre como localizá-la.

POST https://api.capmonster.cloud/getTaskResult

{
  "clientKey":"API_KEY",
  "taskId": 407533072
}

Para obter o resultado, envie uma requisição para https://api.capmonster.cloud/getTaskResult com sua chave de API e o taskId da tarefa.

Agora, vamos fornecer um exemplo de requisição para resolver e receber o resultado usando o método de clique:

POST https://api.capmonster.cloud/createTask

{
  "clientKey":"API_KEY",
  "task": {
	"type": "ComplexImageTask",
	"class": "recaptcha",
	"imageUrls":[ "https://i.postimg.cc/yYjg75Kv/payloadtraffic.jpg" ],
	"metadata": {
	  "Task": "Click on traffic lights",
	  "Grid": "3x3",
	  "TaskDefinition": "/m/015qff"
	},
	"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36",
	"websiteUrl": "https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=middle"
  }
}

Aqui, você precisará especificar parâmetros importantes, como:

imageUrls – o URL da imagem do CAPTCHA (pode ser uma grade 3x3, 4x4 ou 1x1). Por exemplo: [“https://i.postimg.cc/yYjg75Kv/img1.jpg”], que se parece com isso:

Grade de imagens reCAPTCHA para requisição à API CapMonster Cloud

imagesBase64 (se imageUrls não estiver preenchido) – a imagem completa em uma grade 4x4, 3x3 ou 1x1 no formato base64 (em um array). Exemplo: [“/9j/4AAQSkZJRgABAQEAAAAAAAD…”]

Task – a instrução para o CAPTCHA (por exemplo, selecionar todos os semáforos).

Grid – o tamanho da grade (3x3). Também pode ser 4x4 e outros.

TaskDefinition (se Task não estiver preenchido) – o código do objeto que precisa ser encontrado (neste exemplo, "/m/015qff" significa "semáforos"). Outros exemplos podem ser "/m/02y864" para um ônibus, "/m/0k4j" para uma motocicleta, etc. Este parâmetro pode ser encontrado nas Ferramentas de Desenvolvedor:

Parâmetro task do reCAPTCHA nas Ferramentas de Desenvolvedor

Além disso, você pode (mas não é obrigatório) especificar o userAgent atual e o URL da página onde o CAPTCHA está localizado.

Como Resolver CAPTCHAs ImageToText

Vamos ver um exemplo de como criar uma requisição e receber o resultado para resolver um CAPTCHA ImageToText:

POST https://api.capmonster.cloud/createTask

{
  "clientKey":"API_KEY",
  "task": {
	"type":"ImageToTextTask",
	"body":"BASE64_BODY_HERE!"
  }
}

 

POST https://api.capmonster.cloud/getTaskResult

{
  "clientKey":"API_KEY",
  "taskId": 407533072
}

 

Para esse tipo, você precisa enviar a imagem codificada em base64. Você pode obter esses dados de várias maneiras, aqui está um exemplo de como obter o base64 diretamente no console do navegador:

 

async function getBase64FromImageUrl(url) {
    const response = await fetch(url);
    const blob = await response.blob();
    const reader = new FileReader();

    return new Promise((resolve) => {
        reader.onloadend = () => resolve(reader.result.split(",")[1]);
        reader.readAsDataURL(blob);
    });
}

getBase64FromImageUrl("https://example.com/captcha.jpg").then(console.log);

Como Resolver CAPTCHAs ComplexImage

Para resolver tais tarefas, você precisará principalmente do parâmetro base64 para todas as imagens contidas no CAPTCHA. Vamos ver um exemplo de requisição para um CAPTCHA Betpunch, onde o usuário precisa rotacionar a imagem para a orientação correta. Primeiro, encontramos o base64 de todas as imagens e as passamos na seguinte ordem:

Imagens do CAPTCHA Betpunch rotate para solução via API

Exemplo de requisição:

{ 
	"clientKey": "API_KEY",
	"task": {
		"type": "ComplexImageTask",
		"class": "recognition",
		"imagesBase64": [
			"{image_1_Base64}",
			"{image_2_Base64}",
			"{image_3_Base64}",
			"{image_4_Base64}",
			"{image_5_Base64}",
			"{image_6_Base64}",
			"{image_7_Base64}",
			"{image_8_Base64}",
			"{image_9_Base64}",
		],
		"metadata": {
			"Task": "betpunch_3x3_rotate"
		}
	}
}

No campo "Task", especifique betpunch_3x3_rotate. Para obter o resultado, use o método getTaskResult, conforme mostrado nos exemplos anteriores. Na resposta, se a solução for bem-sucedida, você receberá um array de números representando a solução do CAPTCHA. Esta resposta em JSON deve ser usada para confirmar a solução. Aqui está um exemplo de como isso pode ser implementado com Selenium:

from selenium import webdriver

# Exemplo de uso da resposta JSON  
rotation_values = [4,4,4,4,4,3,1,2,2]  

# Em seguida, use o Selenium para cliques ou inserção de dados

Recomendações para Resolver com Sucesso

Cobrir os principais passos para resolver automaticamente os CAPTCHAs de imagem usando o CapMonster Cloud. No entanto, você pode simplificar ainda mais esse processo e torná-lo mais conveniente. Vamos ver algumas recomendações úteis:

Usando SDK

O CapMonster Cloud fornece suas próprias bibliotecas para desenvolvedores, reduzindo significativamente a quantidade de código em comparação ao uso de bibliotecas HTTP padrão. Elas suportam várias linguagens de programação, incluindo Python, JavaScript, C# e outras. Isso torna a integração conveniente para desenvolvedores com diferentes pilhas de tecnologia. Com métodos prontos para criar tarefas e receber resultados, os desenvolvedores não precisam formar requisições HTTP longas, processar respostas por longos períodos ou gerenciar timeouts. Isso simplifica o processo de trabalho com o serviço e melhora a estabilidade do código. Você pode encontrar exemplos e templates de integração na documentação.
 

Automação e Ferramentas Adicionais

No método de clique, procurar manualmente e extrair os parâmetros para a requisição ao CapMonster Cloud é muito inconveniente. Nesse caso, pode-se usar automação, por exemplo, com Selenium. O script irá automaticamente encontrar o texto da tarefa (por exemplo, "Clique nos semáforos"), determinar o tamanho da grade (3x3 ou 4x4) e extrair os URLs das imagens. Esses dados são então passados para o CapMonster Cloud para resolver o CAPTCHA. Essa abordagem acelera significativamente o processo de resolução.

Trabalhando com Proxies

Alguns sites podem bloquear soluções de CAPTCHA se todas as requisições vierem do mesmo endereço IP. Usar proxies ajuda a evitar isso, proporcionando maior anonimato e aumentando a chance de passar o CAPTCHA com sucesso. Use proxies confiáveis e de alta velocidade; selecione endereços IP geograficamente adequados se o site verificar a localização.

Aprimorando a Velocidade de Requisição

Para acelerar o processamento de CAPTCHAs, você pode enviar múltiplas tarefas em paralelo. Recomenda-se dividir as soluções em threads separadas (multithreading), usar requisições assíncronas (como o asyncio em Python) e reduzir os atrasos entre as requisições, mas evitando torná-las muito frequentes para não causar bloqueios.

Seguindo os principais passos e recomendações descritos neste artigo, você poderá simplificar significativamente o processo de resolução de CAPTCHAs, reduzir a probabilidade de bloqueios e acelerar a coleta de dados. Se tiver alguma dúvida ou quiser aprender mais sobre métodos específicos, recomendamos explorar a documentação oficial do CapMonster Cloud e testar a integração na prática!

 

NB: Como lembrete, o produto é usado para automatizar testes em seus próprios sites e em sites aos quais você tem acesso legal.

ItGuy
geear
Programa de afiliados para desenvolvedores de software
Ganhe até 30% dos gastos dos seus usuários com a evasão de captcha
✅ Solicitação enviada
Obrigado pelo seu interesse em nosso programa de parcerias! Entraremos em contato com você dentro de 7 dias úteis.
Solicitação para participar
Preencha o formulário para enviar uma solicitação para o programa de afiliados.
Mais artigos