CAPSOLVER
Blog
Cara Menggunakan Axios untuk Web Scraping

Cara Menggunakan Axios untuk Web Scraping

Logo of CapSolver

Emma Foster

Machine Learning Engineer

23-Sep-2024

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);
  });

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.

Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.

Lebih lanjut

Menyelesaikan CAPTCHA dengan NanoClaw dan CapSolver
Cara Memecahkan CAPTCHA Secara Otomatis dengan NanoClaw dan CapSolver

Panduan langkah demi langkah untuk menggunakan CapSolver dengan NanoClaw untuk menyelesaikan secara otomatis reCAPTCHA, Turnstile, AWS WAF, dan CAPTCHA lainnya. Bekerja dengan agen Claude AI, tanpa kode, dan banyak browser.

AI
Logo of CapSolver

Nikolai Smirnov

20-Mar-2026

Menyelesaikan CAPTCHA dengan TinyFish AgentQ
Cara Menyelesaikan CAPTCHA dengan TinyFish AgentQL โ€“ Panduan Langkah demi Langkah Menggunakan CapSolver

Pelajari cara mengintegrasikan CapSolver dengan TinyFish AgentQL untuk menyelesaikan CAPTCHA seperti reCAPTCHA dan Cloudflare Turnstile secara otomatis. Tutorial langkah demi langkah dengan contoh SDK Python dan JavaScript untuk otomatisasi web berbasis AI yang mulus.

AI
Logo of CapSolver

Aloรญsio Vรญtor

19-Mar-2026

Cara Menyelesaikan GeeTest V3 di n8n dengan CapSolver: Panduan Integrasi Lengkap
Cara Menyelesaikan GeeTest V3 di n8n dengan CapSolver: Panduan Integrasi Lengkap

Pelajari cara mengintegrasikan CapSolver dengan n8n untuk menyelesaikan GeeTest V3 dan membangun alur kerja otomatisasi yang andal.

n8n
Logo of CapSolver

Ethan Collins

18-Mar-2026

Cara Menyelesaikan Konversi Gambar ke Teks Menggunakan CapSolver dan n8n
Cara Menyelesaikan Konversi Gambar ke Teks Menggunakan CapSolver dan n8n

Konversi gambar ke teks, pemecah captcha, captcha OCR, capsolver, n8n, alur kerja n8n, otomatisasi, API OCR, otomatisasi captcha, gambar base64, pengenalan gambar, OCR AI, webhook, alur kerja terjadwal, otomatisasi formulir, bypass captcha, penanganan sesi, captcha tanpa proxy, OCR instan, pengenalan teks

n8n
Logo of CapSolver

Aloรญsio Vรญtor

18-Mar-2026

Selesaikan Teka-Teki Visual di n8n dengan CapSolver
Cara Menyelesaikan Teka-Teki Visual di n8n dengan CapSolver

Menyelesaikan CAPTCHA visual dengan CapSolver Vision Engine di n8n. Menangani slider, rotasi, pemilihan objek, dan GIF OCR secara instan.

n8n
Logo of CapSolver

Emma Foster

18-Mar-2026

Selesaikan Pengecapan TLS di n8n dengan CapSolver
Cara Menyelesaikan Fingerprinting TLS di n8n dengan CapSolver

Selesaikan pemindaian sidik jari TLS di n8n dengan CapSolver. Buat permintaan terlihat seperti peramban nyata dan hindari blok deteksi bot.

n8n
Logo of CapSolver

Emma Foster

18-Mar-2026