Como usar Axios para Web Scraping

Ethan Collins
Pattern Recognition Specialist
23-Sep-2024
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:
Instalação
Você pode instalar o Axios usando npm ou yarn:
bash
npm install axios
ou
bash
yarn add axios
Exemplo Básico: Fazendo uma Requisição GET
Aqui está como executar uma requisição GET simples usando o Axios:
javascript
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
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
npm install axios
npm install capsolver
Agora, aqui está como resolver um ReCaptcha V3 e usar a solução em sua solicitação:
javascript
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
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
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
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.
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.
Mais

Qual é a melhor extensão para resolver CAPTCHA 2026?
No mundo em constante evolução da segurança online, os desafios CAPTCHA tornaram-se uma barreira comum para os usuários da internet...

Sora Fujimoto
12-Dec-2025

Lumiproxy: Proxy Premium para Scraping de Web e Coleta de Dados
Neste artigo, mostraremos o que é Lumiproxy e os serviços que eles oferecem.

Ethan Collins
12-Dec-2025

Genlogin: Revolutionar sua experiência de automação da web
Neste artigo, vamos mostrar para você o que é o Genlogin e os serviços que eles oferecem.

Rajinder Singh
12-Dec-2025

Proxys.io: Proxies individuais para qualquer tarefa
Neste artigo, vamos mostrar para você o que é o Proxys.io e os serviços que eles oferecem.

Rajinder Singh
12-Dec-2025

Tabproxy: Bom custo proxy residencial internacional
Neste artigo, vamos mostrar para você o que é o Tabproxy e os serviços que eles oferecem.

Ethan Collins
12-Dec-2025

O que são erros 402, 403, 404 e 429 em raspagem de web? Um Guia Completo
Domine o tratamento de erros de raspagem de web entendendo o que são os erros 402, 403, 404 e 429. Aprenda a corrigir o erro 403 Proibido, implementar soluções para o erro de limitação de taxa 429 e tratar o código de status Payment Required emergente 402.

Lucas Mitchell
12-Dec-2025

