CAPSOLVER
Blog
Cómo usar Axios para web scraping

Cómo usar Axios para Web Scraping

Logo of CapSolver

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:

  • 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.

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 solucionar errores comunes de raspado de web en 2026
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.

web scraping
Logo of CapSolver

Emma Foster

05-Feb-2026

RoxyBrowser con integración de CapSolver
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.

web scraping
Logo of CapSolver

Emma Foster

04-Feb-2026

Web scraping en Node.js: Usando Node Unblocker y CapSolver
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.

AI
Logo of CapSolver

Aloísio Vítor

04-Feb-2026

Crawl4AI vs Firecrawl
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.

AI
Logo of CapSolver

Adélia Cruz

04-Feb-2026

Easyspider CapSolver Integración de Captcha
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.

web scraping
Logo of CapSolver

Adélia Cruz

04-Feb-2026

Relevance AI con CapSolver
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.

web scraping
Logo of CapSolver

Aloísio Vítor

03-Feb-2026