Cómo usar Axios para Web Scraping

Emma Foster
Machine Learning Engineer
23-Sep-2024
¿Qué es Axios?

Axios es una popular biblioteca JavaScript utilizada para realizar solicitudes HTTP tanto desde el navegador como desde Node.js. Simplifica la realización de solicitudes HTTP asíncronas y te permite manejar las respuestas fácilmente con promesas.
Características:
- Basado en promesas: Utiliza promesas de JavaScript, lo que facilita la gestión de operaciones asíncronas.
- Soporte para navegador y Node.js: Funciona sin problemas en ambos entornos.
- Análisis JSON automático: Analiza automáticamente las respuestas JSON.
- Interceptores: Admite interceptores de solicitud y respuesta para administrar solicitudes y manejar respuestas globalmente.
- Manejo de errores: Proporciona mecanismos integrados para manejar errores.
Prerrequisitos
Antes de usar Axios, asegúrate de tener:
Instalación
Puedes instalar Axios usando npm o yarn:
bash
npm install axios
o
bash
yarn add axios
Ejemplo básico: Realizar una solicitud GET
Así es como se realiza una simple solicitud GET usando Axios:
javascript
const axios = require('axios');
axios.get('https://httpbin.org/get')
.then(response => {
console.log('Código de estado:', response.status);
console.log('Cuerpo de la respuesta:', response.data);
})
.catch(error => {
console.error('Error:', error);
});
Ejemplo de raspado web: Obtener datos JSON de una API
Obtengamos datos de una API e imprimamos los 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('Error:', error);
});
Manejo de captchas con CapSolver y Axios
En esta sección, integraremos CapSolver con Axios para evitar los captchas. CapSolver proporciona una API para resolver captchas como ReCaptcha V3 y captcha.
Demostraremos cómo resolver ReCaptcha V3 con CapSolver y usar la solución en una solicitud.
Ejemplo: Resolver ReCaptcha V3 con CapSolver y Axios
Primero, instala Axios y CapSolver:
bash
npm install axios
npm install capsolver
Ahora, así es como se resuelve un ReCaptcha V3 y se usa la solución en tu solicitud:
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('Error al crear la tarea 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 volver a intentarlo
} while (true);
} catch (error) {
console.error('Error al obtener el 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('Creando tarea CAPTCHA...');
const taskId = await createTask(PAGE_URL, PAGE_KEY, PAGE_ACTION);
console.log(`ID de la tarea: ${taskId}`);
console.log('Obteniendo el resultado CAPTCHA...');
const solution = await getTaskResult(taskId);
const token = solution.gRecaptchaResponse;
console.log(`Solución de 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(`Puntuación: ${response.score}`);
}
main().catch(err => {
console.error(err);
});
Manejo de proxys con Axios
Para enrutar tus solicitudes a través de un proxy con 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('Cuerpo de la respuesta:', response.data);
})
.catch(error => {
console.error('Error:', error);
});
Manejo de cookies con Axios
Puedes manejar cookies en Axios usando la opción 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('Error:', error);
});
Uso avanzado: Encabezados personalizados y solicitudes POST
Puedes enviar encabezados personalizados y realizar solicitudes POST con 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('Respuesta JSON:', response.data);
})
.catch(error => {
console.error('Error:', error);
});
Conclusión
Con Axios, puedes administrar fácilmente las solicitudes HTTP tanto en Node.js como en el navegador. Al integrarlo con CapSolver, puedes evitar captchas como ReCaptcha V3 y captcha, lo que permite el acceso a contenido restringido.
Aviso de Cumplimiento: La información proporcionada en este blog es solo para fines informativos. CapSolver se compromete a cumplir con todas las leyes y regulaciones aplicables. El uso de la red de CapSolver para actividades ilegales, fraudulentas o abusivas está estrictamente prohibido y será investigado. Nuestras soluciones para la resolución de captcha mejoran la experiencia del usuario mientras garantizan un 100% de cumplimiento al ayudar a resolver las dificultades de captcha durante el rastreo de datos públicos. Fomentamos el uso responsable de nuestros servicios. Para obtener más información, visite nuestros Términos de Servicio y Política de Privacidad.
Máse

Cómo resolver desafíos CAPTCHA para agentes de IA: Extracción de datos con n8n, CapSolver y OpenClaw
Aprende cómo automatizar la resolución de CAPTCHA para agentes de inteligencia artificial utilizando n8n, CapSolver y OpenClaw. Construye una pipeline del lado del servidor para extraer datos de sitios web protegidos sin automatización de navegadores o pasos manuales.

Aloísio Vítor
20-Mar-2026

Cómo resolver automáticamente CAPTCHAS con NanoClaw y CapSolver
Guía paso a paso para usar CapSolver con NanoClaw para resolver automáticamente reCAPTCHA, Turnstile, AWS WAF y otros CAPTCHAs. Funciona con agentes de Claude AI, cero código y múltiples navegadores.

Ethan Collins
20-Mar-2026

Cómo resolver CAPTCHA con TinyFish AgentQL – Guía paso a paso usando CapSolver
Aprende a integrar CapSolver con TinyFish AgentQL para resolver automáticamente CAPTCHAs como reCAPTCHA y Cloudflare Turnstile. Tutorial paso a paso con ejemplos de SDK de Python y JavaScript para automatización web impulsada por IA.

Anh Tuan
19-Mar-2026

Cómo resolver GeeTest V3 en n8n con CapSolver: Guía completa de integración
Aprende a integrar CapSolver con n8n para resolver GeeTest V3 y crear flujos de trabajo de automatización fiables.

Ethan Collins
18-Mar-2026

Cómo resolver ImageToText usando CapSolver y n8n
imagen a texto, solucionador de captcha, captcha OCR, capsolver, n8n, flujo de trabajo n8n, automatización, API OCR, automatización de captcha, imagen base64, reconocimiento de imágenes, OCR con IA, webhook, flujo de trabajo programado, automatización de formularios, omisión de captcha, gestión de sesiones, captcha sin proxy, OCR instantáneo, reconocimiento de texto

Nikolai Smirnov
18-Mar-2026

Cómo resolver CAPTCHA con Vercel Agent Browser – Guía paso a paso usando CapSolver
Aprende a integrar CapSolver con Agent Browser para manejar CAPTCHAs y construir flujos de trabajo de automatización de IA confiables.

Adélia Cruz
18-Mar-2026

