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 arreglar errores comunes de raspado de web en 2026
Dominar la resolución de diversos errores de scrapers web como 400, 401, 402, 403, 429, 5xx y Cloudflare 1001 en 2026. Aprender estrategias avanzadas para la rotación de IPs, encabezados y limitación de tasa adaptativa con CapSolver.

Emma Foster
05-Feb-2026

Cómo resolver un Captcha en RoxyBrowser con la integración de CapSolver
Integrar CapSolver con RoxyBrowser para automatizar tareas del navegador y evadir reCAPTCHA, Turnstile y otros CAPTCHAs.

Emma Foster
04-Feb-2026

Raspado de web en Node.js: Usando Node Unblocker y CapSolver
Domina el raspado web en Node.js utilizando Node Unblocker para evadir restricciones y CapSolver para resolver CAPTCHAs. Este guía proporciona estrategias avanzadas para una extracción de datos eficiente y confiable.

Aloísio Vítor
04-Feb-2026

Crawl4AI vs Firecrawl: Comparación completa y Revisión de 2026
Compara Crawl4AI vs Firecrawl en 2026. Descubre las características, precios y rendimiento de estas herramientas de scraping web de IA para la extracción de markdown lista para LLM.

Adélia Cruz
04-Feb-2026

Cómo resolver captcha en EasySpider con la integración de CapSolver
EasySpider es una herramienta visual de scraping web y automatización de navegadores, y cuando se combina con CapSolver, puede resolver de manera confiable los CAPTCHAs como reCAPTCHA v2 y Cloudflare Turnstile, facilitando la extracción de datos automatizada sin interrupciones en todo tipo de sitios web.

Adélia Cruz
04-Feb-2026

Cómo resolver reCAPTCHA v2 en Relevance AI con integración de CapSolver
Construye una herramienta de Relevance AI para resolver reCAPTCHA v2 utilizando CapSolver. Automatiza los envíos de formularios a través de API sin automatización de navegadores.

Aloísio Vítor
03-Feb-2026

