ProdutosIntegraçõesRecursosDocumentaçãoPreços
Começar agora

© 2026 CapSolver. All rights reserved.

Contacte-nos

Slack: lola@capsolver.com

Produtos

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Extensão de Navegador
  • Mais tipos de CAPTCHA

Integrações

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Parceiros
  • Ver todas as integrações

Recursos

  • Programa de Referenciação
  • Documentação
  • Referência da API
  • Blog
  • FAQ
  • Glossário
  • Estado

Legal

  • Termos de Serviço
  • Política de Privacidade
  • Política de Reembolso
  • Não vender os meus dados pessoais
Blog/All/Como usar Axios para Web Scraping
Sep24, 2024

Como usar Axios para Web Scraping

Ethan Collins

Ethan Collins

Pattern Recognition Specialist

O que é Axios?

Axios é uma biblioteca JavaScript popular usada para fazer requisições HTTP a partir do navegador e do Node.js. Ele simplifica a realização de requisições HTTP assíncronas e permite que você manipule as respostas facilmente com promises.

Funcionalidades:

  • Baseado em Promises: Usa promises do JavaScript, facilitando o gerenciamento de operações assíncronas.
  • Suporte para Navegador e Node.js: Funciona perfeitamente em ambos os ambientes.
  • Análise JSON Automática: Analisa automaticamente as respostas JSON.
  • Interceptadores: Suporta interceptadores de solicitação e resposta para gerenciar solicitações e lidar com respostas globalmente.
  • Tratamento de Erros: Fornece mecanismos integrados para lidar com erros.

Pré-requisitos

Antes de usar o Axios, certifique-se de ter:

  • Node.js instalado para uso do lado do servidor.
  • npm ou yarn para instalar pacotes.

Instalação

Você pode instalar o Axios usando npm ou yarn:

bash Copy
npm install axios

ou

bash Copy
yarn add axios

Exemplo Básico: Fazendo uma Requisição GET

Aqui está como executar uma requisição GET simples usando o Axios:

javascript Copy
const axios = require('axios');

axios.get('https://httpbin.org/get')
  .then(response => {
    console.log('Código de Status:', response.status);
    console.log('Corpo da Resposta:', response.data);
  })
  .catch(error => {
    console.error('Erro:', error);
  });

Exemplo de Web Scraping: Obtendo Dados JSON de uma API

Vamos obter dados de uma API e imprimir os resultados:

javascript Copy
const axios = require('axios');

axios.get('https://jsonplaceholder.typicode.com/posts')
  .then(response => {
    const posts = response.data;
    posts.forEach(post => {
      console.log(`${post.title} — ${post.body}`);
    });
  })
  .catch(error => {
    console.error('Erro:', error);
  });

Lidando com Captchas com CapSolver e Axios

Nesta seção, integraremos o CapSolver com o Axios para contornar captchas. O CapSolver fornece uma API para resolver captchas como o ReCaptcha V3.

Vamos demonstrar como resolver o ReCaptcha V3 com o CapSolver e usar a solução em uma solicitação.

Exemplo: Resolvendo ReCaptcha V3 com CapSolver e Axios

Primeiro, instale o Axios e o CapSolver:

bash Copy
npm install axios
npm install capsolver

Agora, aqui está como resolver um ReCaptcha V3 e usar a solução em sua solicitação:

javascript Copy
const axios = require('axios');
const CAPSOLVER_KEY = 'YourKey';
const PAGE_URL = 'https://antcpt.com/score_detector';
const PAGE_KEY = '6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf';
const PAGE_ACTION = 'homepage';

async function createTask(url, key, pageAction) {
  try {
    const apiUrl = 'https://api.capsolver.com/createTask';
    const payload = {
      clientKey: CAPSOLVER_KEY,
      task: {
        type: 'ReCaptchaV3TaskProxyLess',
        websiteURL: url,
        websiteKey: key,
        pageAction: pageAction
      }
    };
    const headers = {
      'Content-Type': 'application/json',
    };
    const response = await axios.post(apiUrl, payload, { headers });
    return response.data.taskId;

  } catch (error) {
    console.error('Erro ao criar tarefa CAPTCHA:', error);
    throw error;
  }
}

async function getTaskResult(taskId) {
  try {
    const apiUrl = 'https://api.capsolver.com/getTaskResult';
    const payload = {
      clientKey: CAPSOLVER_KEY,
      taskId: taskId,
    };
    const headers = {
      'Content-Type': 'application/json',
    };
    let result;
    do {
      const response = await axios.post(apiUrl, payload, { headers });
      result = response.data;
      if (result.status === 'ready') {
        return result.solution;
      }
      await new Promise(resolve => setTimeout(resolve, 5000)); // esperar 5 segundos antes de tentar novamente
    } while (true);

  } catch (error) {
    console.error('Erro ao obter o resultado CAPTCHA:', error);
    throw error;
  }
}

function setSessionHeaders() {
  return {
    'cache-control': 'max-age=0',
    'sec-ch-ua': '"Not/A)Brand";v="99", "Google Chrome";v="107", "Chromium";v="107"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': 'Windows',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-user': '?1',
    'sec-fetch-dest': 'document',
    'accept-encoding': 'gzip, deflate',
    'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,en-US;q=0.7',
  };
}

async function main() {
  const headers = setSessionHeaders();
  console.log('Criando tarefa CAPTCHA...');
  const taskId = await createTask(PAGE_URL, PAGE_KEY, PAGE_ACTION);
  console.log(`ID da tarefa: ${taskId}`);

  console.log('Recuperando resultado CAPTCHA...');
  const solution = await getTaskResult(taskId);
  const token = solution.gRecaptchaResponse;
  console.log(`Solução do Token: ${token}`);

  const res = await axios.post('https://antcpt.com/score_detector/verify.php', { 'g-recaptcha-response': token }, { headers });
  const response = res.data;
  console.log(`Pontuação: ${response.score}`);
}

main().catch(err => {
  console.error(err);
});

Lidando com Proxies com Axios

Para rotear suas solicitações por meio de um proxy com Axios:

javascript Copy
const axios = require('axios');

axios.get('https://httpbin.org/ip', {
  proxy: {
    host: 'proxyserver',
    port: 8080,
    auth: {
      username: 'username',
      password: 'password'
    }
  }
})
  .then(response => {
    console.log('Corpo da Resposta:', response.data);
  })
  .catch(error => {
    console.error('Erro:', error);
  });

Lidando com Cookies com Axios

Você pode lidar com cookies no Axios usando a opção withCredentials:

javascript Copy
const axios = require('axios');

axios.get('https://httpbin.org/cookies/set?name=value', { withCredentials: true })
  .then(response => {
    console.log('Cookies:', response.headers['set-cookie']);
  })
  .catch(error => {
    console.error('Erro:', error);
  });

Uso Avançado: Cabeçalhos Personalizados e Requisições POST

Você pode enviar cabeçalhos personalizados e executar solicitações POST com Axios:

javascript Copy
const axios = require('axios');

const headers = {
  'User-Agent': 'Mozilla/5.0 (compatible)',
  'Accept-Language': 'en-US,en;q=0.5',
};

const data = {
  username: 'testuser',
  password: 'testpass',
};

axios.post('https://httpbin.org/post', data, { headers })
  .then(response => {
    console.log('Resposta JSON:', response.data);
  })
  .catch(error => {
    console.error('Erro:', error);
  });

Código Bônus

Resgate seu Código Bônus para as melhores soluções de captcha em CapSolver: scrape. Após resgatá-lo, você receberá um bônus extra de 5% após cada recarga, ilimitadas vezes.

Conclusão

Com o Axios, você pode gerenciar facilmente solicitações HTTP em ambientes Node.js e de navegador. Ao integrá-lo com o CapSolver, você pode resolver captchas como o ReCaptcha V3, permitindo acesso a conteúdo restrito.

Ver mais

May 06, 2026

Como resolver o desafio do AWS WAF sem um navegador: Um guia técnico

Aprenda como resolver desafios do AWS WAF e CAPTCHAs sem um navegador. Utilize a API do CapSolver para gerar tokens e contornar códigos de status 405.

Adélia Cruz
Adélia Cruz
Apr 30, 2026

Web Scraping no Linux: Ferramentas, Configuração & Guia Prático

Configure a raspagem de web no Linux com Python, proxies e tratamento de CAPTCHA. Um guia prático para desenvolvedores que aborda Scrapy, Playwright, CapSolver e pipelines de dados.

Adélia Cruz
Adélia Cruz

Índice

Apr 30, 2026

Erro do Cloudflare 1020: Acesso Negado em Web Scraping & Proteção WAF

Aprenda o que causa o erro 1020 Acesso Negado do Cloudflare, como o Firewall de Aplicação Web e a detecção de bots funcionam e como os desenvolvedores podem reduzir falsos positivos em fluxos de trabalho de automação legítimos.

Adélia Cruz
Adélia Cruz
Apr 29, 2026

Melhores Extensões de Resolvedor Automático de CAPTCHA para Chrome em 2026

Descubra as melhores extensões do Chrome para resolver CAPTCHA automaticamente em 2026. Compare o CapSolver, o NopeCHA e o SolveCaptcha por velocidade, tipos suportados e privacidade para encontrar a opção certa.

Adélia Cruz
Adélia Cruz