ProdukIntegrasiSumber DayaDokumentasiHarga
Mulai Sekarang

© 2026 CapSolver. All rights reserved.

Hubungi Kami

Slack: lola@capsolver.com

Produk

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Ekstensi Browser
  • Lebih banyak jenis CAPTCHA

Integrasi

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Mitra
  • Lihat semua integrasi

Sumber Daya

  • Program Referensi
  • Dokumentasi
  • Referensi API
  • Blog
  • FAQ
  • Glosarium
  • Status

Legal

  • Ketentuan Layanan
  • Kebijakan Privasi
  • Kebijakan Pengembalian Dana
  • Jangan jual informasi pribadi saya
Blog/All/Cara Menggunakan Axios untuk Web Scraping
Sep24, 2024

Cara Menggunakan Axios untuk Web Scraping

Emma Foster

Emma Foster

Machine Learning Engineer

Apa itu Axios?

Axios adalah pustaka JavaScript populer yang digunakan untuk melakukan permintaan HTTP dari browser dan Node.js. Ini menyederhanakan pembuatan permintaan HTTP asinkron dan memungkinkan Anda untuk menangani respons dengan mudah menggunakan janji.

Fitur:

  • Berdasarkan Janji: Menggunakan janji JavaScript, membuatnya lebih mudah untuk mengelola operasi asinkron.
  • Dukungan Browser dan Node.js: Berfungsi dengan lancar di kedua lingkungan.
  • Parsing JSON Otomatis: Secara otomatis memparsing respons JSON.
  • Interceptor: Mendukung interceptor permintaan dan respons untuk mengelola permintaan dan menangani respons secara global.
  • Penanganan Kesalahan: Menyediakan mekanisme bawaan untuk menangani kesalahan.

Prasyarat

Sebelum menggunakan Axios, pastikan Anda memiliki:

  • Node.js diinstal untuk penggunaan sisi server.
  • npm atau yarn untuk menginstal paket.

Instalasi

Anda dapat menginstal Axios menggunakan npm atau yarn:

bash Copy
npm install axios

atau

bash Copy
yarn add axios

Contoh Dasar: Membuat Permintaan GET

Berikut cara melakukan permintaan GET sederhana menggunakan Axios:

javascript Copy
const axios = require('axios');

axios.get('https://httpbin.org/get')
  .then(response => {
    console.log('Kode Status:', response.status);
    console.log('Tubuh Respons:', response.data);
  })
  .catch(error => {
    console.error('Kesalahan:', error);
  });

Contoh Web Scraping: Mengambil Data JSON dari API

Mari kita ambil data dari API dan cetak hasilnya:

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

Menangani Captcha dengan CapSolver dan Axios

Di bagian ini, kita akan mengintegrasikan CapSolver dengan Axios untuk melewati captcha. CapSolver menyediakan API untuk menyelesaikan captcha seperti ReCaptcha V3 dan captcha.

Kita akan mendemonstrasikan pemecahan ReCaptcha V3 dengan CapSolver dan menggunakan solusinya dalam permintaan.

Contoh: Memecahkan ReCaptcha V3 dengan CapSolver dan Axios

Pertama, instal Axios dan CapSolver:

bash Copy
npm install axios
npm install capsolver

Sekarang, berikut cara memecahkan ReCaptcha V3 dan menggunakan solusinya dalam permintaan Anda:

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('Kesalahan membuat tugas 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)); // tunggu 5 detik sebelum mencoba lagi
    } while (true);

  } catch (error) {
    console.error('Kesalahan mendapatkan hasil 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('Membuat tugas CAPTCHA...');
  const taskId = await createTask(PAGE_URL, PAGE_KEY, PAGE_ACTION);
  console.log(`ID Tugas: ${taskId}`);

  console.log('Mengambil hasil CAPTCHA...');
  const solution = await getTaskResult(taskId);
  const token = solution.gRecaptchaResponse;
  console.log(`Solusi 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(`Skor: ${response.score}`);
}

main().catch(err => {
  console.error(err);
});

Menangani Proxy dengan Axios

Untuk mengarahkan permintaan Anda melalui proxy dengan 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('Tubuh Respons:', response.data);
  })
  .catch(error => {
    console.error('Kesalahan:', error);
  });

Menangani Cookie dengan Axios

Anda dapat menangani cookie di Axios menggunakan opsi withCredentials:

javascript Copy
const axios = require('axios');

axios.get('https://httpbin.org/cookies/set?name=value', { withCredentials: true })
  .then(response => {
    console.log('Cookie:', response.headers['set-cookie']);
  })
  .catch(error => {
    console.error('Kesalahan:', error);
  });

Penggunaan Lanjutan: Header Kustom dan Permintaan POST

Anda dapat mengirimkan header kustom dan melakukan permintaan POST dengan 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('Respons JSON:', response.data);
  })
  .catch(error => {
    console.error('Kesalahan:', error);
  });

Kesimpulan

Dengan Axios, Anda dapat dengan mudah mengelola permintaan HTTP di lingkungan Node.js dan browser. Dengan mengintegrasikannya dengan CapSolver, Anda dapat melewati captcha seperti ReCaptcha V3 dan captcha, memungkinkan akses ke konten terbatas.

Lihat Lebih Banyak

May 07, 2026

Terbaik Framework Agen AI untuk Otomatisasi Web dan Pemecahan CAPTCHA

Bandingkan kerangka kerja agen AI terbaik untuk otomatisasi web, penyelesaian CAPTCHA, kepatuhan, dan alur kerja agen yang siap produksi pada tahun 2026.

Emma Foster
Emma Foster
May 07, 2026

Pustaka Java Web Scraping Terbaik untuk Ekstraksi Data yang Andal

Membandingkan pustaka pengambilan data web Java terbaik, termasuk jsoup, Selenium, Playwright untuk Java, HtmlUnit, Apache Nutch, dan pilihan API.

Emma Foster
Emma Foster

Daftar Isi

May 06, 2026

Cara Menyelesaikan CAPTCHA dalam Otomatisasi Browser dengan Hermes Agent dan CapSolver

Pelajari cara menyelesaikan CAPTCHA dalam alur kerja otomatisasi browser AI menggunakan Hermes Agent dan CapSolver. Panduan ini menjelaskan cara mengintegrasikan CapSolver untuk secara otomatis menangani reCAPTCHA, hCaptcha, dan sistem CAPTCHA modern lainnya dalam lingkungan penjelajahan otomatis tanpa menulis kode yang rumit.

Emma Foster
Emma Foster
May 06, 2026

Cara Menyelesaikan Tantangan AWS WAF Tanpa Browser: Panduan Teknis

Pelajari cara menyelesaikan tantangan AWS WAF dan CAPTCHA tanpa menggunakan browser. Gunakan API CapSolver untuk menghasilkan token dan mengelak kode status 405.

Emma Foster
Emma Foster