ProductosIntegracionesRecursosDocumentaciónPrecios
Empezar ahora

© 2026 CapSolver. All rights reserved.

Contáctenos

Slack: lola@capsolver.com

Productos

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Extensión de navegador
  • Más tipos de CAPTCHA

Integraciones

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Socios
  • Ver todas las integraciones

Recursos

  • Programa de referidos
  • Documentación
  • Referencia de API
  • Blog
  • Preguntas frecuentes
  • Glosario
  • Estado

Legal

  • Términos de servicio
  • Política de privacidad
  • Política de reembolso
  • No vender mi información personal
Blog/All/Cómo usar Axios para Web Scraping
Sep24, 2024

Cómo usar Axios para Web Scraping

Emma Foster

Emma Foster

Machine Learning Engineer

¿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:

  • Node.js instalado para el uso del lado del servidor.
  • npm o yarn para instalar paquetes.

Instalación

Puedes instalar Axios usando npm o yarn:

bash Copy
npm install axios

o

bash Copy
yarn add axios

Ejemplo básico: Realizar una solicitud GET

Así es como se realiza una simple solicitud GET usando Axios:

javascript Copy
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 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('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 Copy
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 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('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 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('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 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('Error:', error);
  });

Uso avanzado: Encabezados personalizados y solicitudes POST

Puedes enviar encabezados personalizados y realizar solicitudes POST con 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('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.

Ver más

May 06, 2026

Cómo resolver el desafío de AWS WAF sin un navegador: Una guía técnica

Aprende a resolver desafíos de AWS WAF y CAPTCHAs sin navegador. Utiliza la API de CapSolver para generar tokens y evadir códigos de estado 405.

Aloísio Vítor
Aloísio Vítor
Apr 30, 2026

Rastrado de web en Linux: Herramientas, Configuración y Guía práctica

Configurar el raspado de web en Linux con Python, proxies y manejo de CAPTCHA. Una guía práctica para desarrolladores que cubre Scrapy, Playwright, CapSolver y tuberías de datos.

Aloísio Vítor
Aloísio Vítor

Contenido

Apr 30, 2026

Error de Cloudflare 1020: Acceso denegado en Web Scraping y Protección de FAW

Aprende qué desencadena el error de Cloudflare 1020 Acceso denegado, cómo funciona el Firewall de Aplicaciones Web y la detección de bots, y cómo los desarrolladores pueden reducir los falsos positivos en flujos de trabajo de automatización legítimos.

Aloísio Vítor
Aloísio Vítor
Apr 29, 2026

Mejores Extensiones Automáticas para Resolver CAPTCHA en Chrome en 2026

Descubre las mejores extensiones de Chrome para resolver CAPTCHA automáticamente en 2026. Compara CapSolver, NopeCHA y SolveCaptcha por velocidad, tipos compatibles y privacidad para encontrar la opción adecuada.

Aloísio Vítor
Aloísio Vítor