CAPSOLVER
Blog
Cara Menggunakan node-fetch untuk Web Scraping

Cara Menggunakan node-fetch untuk Web Scraping

Logo of CapSolver

Adélia Cruz

Neural Network Developer

27-Sep-2024

Apa itu node-fetch?

node-fetch adalah sebuah library JavaScript yang ringan yang membawa API window.fetch ke Node.js. Ini sering digunakan untuk melakukan permintaan HTTP dari lingkungan Node.js, menyediakan cara yang modern dan fleksibel untuk menangani operasi jaringan secara asinkron.

Fitur:

  • Berbasis Promise: Menggunakan JavaScript promises untuk mengelola operasi asinkron dengan cara yang sederhana.
  • Dukungan Node.js: Dirancang khusus untuk lingkungan Node.js.
  • Dukungan Stream: Mendukung stream, membuatnya sangat cocok untuk menangani data besar.
  • Kecil dan Efisien: Desain minimalis, berfokus pada kinerja dan kompatibilitas dengan fitur JavaScript modern.

Prasyarat

Sebelum menggunakan node-fetch, pastikan Anda memiliki:

Instalasi

Untuk menggunakan node-fetch, Anda perlu menginstalnya menggunakan npm atau yarn:

bash Copy
npm install node-fetch

atau

bash Copy
yarn add node-fetch

Contoh Dasar: Melakukan Permintaan GET

Berikut adalah cara melakukan permintaan GET sederhana menggunakan node-fetch:

javascript Copy
const fetch = require('node-fetch');

fetch('https://httpbin.org/get')
  .then(response => response.json())
  .then(data => {
    console.log('Response Body:', data);
  })
  .catch(error => {
    console.error('Error:', error);
  });

Contoh Web Scraping: Mengambil Data JSON dari API

Mari kita ambil data dari API dan log hasilnya:

javascript Copy
const fetch = require('node-fetch');

fetch('https://jsonplaceholder.typicode.com/posts')
  .then(response => response.json())
  .then(posts => {
    posts.forEach(post => {
      console.log(`${post.title} — ${post.body}`);
    });
  })
  .catch(error => {
    console.error('Error:', error);
  });

Menangani Captcha dengan CapSolver dan node-fetch

Pada bagian ini, kita akan mengintegrasikan CapSolver dengan node-fetch untuk menangani captcha. CapSolver menyediakan API untuk menyelesaikan captcha seperti ReCaptcha V3 dan captcha, memungkinkan otomatisasi tugas yang memerlukan penyelesaian captcha tersebut.

Contoh: Menyelesaikan ReCaptcha V3 dengan CapSolver dan node-fetch

Pertama, instal node-fetch dan CapSolver:

bash Copy
npm install node-fetch
npm install capsolver

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

javascript Copy
const fetch = require('node-fetch');
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 response = await fetch(apiUrl, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(payload)
    });
    
    const data = await response.json();
    return data.taskId;

  } catch (error) {
    console.error('Error creating CAPTCHA task:', error);
    throw error;
  }
}

async function getTaskResult(taskId) {
  try {
    const apiUrl = 'https://api.capsolver.com/getTaskResult';
    const payload = {
      clientKey: CAPSOLVER_KEY,
      taskId: taskId,
    };

    let result;
    do {
      const response = await fetch(apiUrl, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(payload)
      });

      result = await response.json();
      if (result.status === 'ready') {
        return result.solution;
      }

      await new Promise(resolve => setTimeout(resolve, 5000)); // wait 5 seconds
    } while (true);

  } catch (error) {
    console.error('Error fetching CAPTCHA result:', error);
    throw error;
  }
}

async function main() {
  console.log('Creating CAPTCHA task...');
  const taskId = await createTask(PAGE_URL, PAGE_KEY, PAGE_ACTION);
  console.log(`Task ID: ${taskId}`);

  console.log('Retrieving CAPTCHA result...');
  const solution = await getTaskResult(taskId);
  const token = solution.gRecaptchaResponse;
  console.log(`Token Solution: ${token}`);

  const res = await fetch('https://antcpt.com/score_detector/verify.php', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ 'g-recaptcha-response': token })
  });

  const response = await res.json();
  console.log(`Score: ${response.score}`);
}

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

Menangani Proxy dengan node-fetch

Untuk mengarahkan permintaan Anda melalui proxy dengan node-fetch, Anda akan memerlukan proxy agent seperti https-proxy-agent. Berikut cara mengimplementasikannya:

bash Copy
npm install https-proxy-agent

Contoh dengan proxy:

javascript Copy
const fetch = require('node-fetch');
const HttpsProxyAgent = require('https-proxy-agent');

const proxyAgent = new HttpsProxyAgent('http://username:password@proxyserver:8080');

fetch('https://httpbin.org/ip', { agent: proxyAgent })
  .then(response => response.json())
  .then(data => {
    console.log('Response Body:', data);
  })
  .catch(error => {
    console.error('Error:', error);
  });

Untuk menangani cookie di node-fetch, Anda dapat menggunakan library seperti fetch-cookie. Berikut cara menggunakannya:

bash Copy
npm install fetch-cookie

Contoh:

javascript Copy
const fetch = require('node-fetch');
const fetchCookie = require('fetch-cookie');
const cookieFetch = fetchCookie(fetch);

cookieFetch('https://httpbin.org/cookies/set?name=value')
  .then(response => response.json())
  .then(data => {
    console.log('Cookies:', data);
  })
  .catch(error => {
    console.error('Error:', error);
  });

Penggunaan Lanjutan: Header Kustom dan Permintaan POST

Anda dapat menyesuaikan header dan melakukan permintaan POST dengan node-fetch:

javascript Copy
const fetch = require('node-fetch');

const headers = {
  'User-Agent': 'Mozilla/5.0 (compatible)',
  'Accept-Language': 'en-US,en;q=0.5',
};

const data = {
  username: 'testuser',
  password: 'testpass',
};

fetch('https://httpbin.org/post', {
  method: 'POST',
  headers: headers,
  body: JSON.stringify(data),
})
  .then(response => response.json())
  .then(data => {
    console.log('Response JSON:', data);
  })
  .catch(error => {
    console.error('Error:', error);
  });

Kode Bonus

Klaim Kode Bonus Anda untuk solusi captcha teratas di CapSolver: scrape. Setelah menukarkannya, Anda akan mendapatkan bonus tambahan 5% setelah setiap isi ulang, tanpa batas waktu.

Kesimpulan

Dengan node-fetch, Anda dapat secara efektif mengelola permintaan HTTP di Node.js. Dengan mengintegrasikannya dengan CapSolver, Anda dapat menyelesaikan captcha seperti ReCaptcha V3 dan captcha, memberikan akses ke konten terbatas. Selain itu, node-fetch menawarkan penyesuaian melalui header, dukungan proxy, dan manajemen cookie, menjadikannya alat serbaguna untuk web scraping dan otomatisasi.

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

API Penyelesaian CAPTCHA vs Penyelesaian Manual: Biaya & Efisiensi (2026)
API Penyelesaian CAPTCHA vs Penyelesaian Manual: Biaya & Efisiensi (2026)

Bandingkan API penyelesaian CAPTCHA vs penyelesaian manual. Pelajari tentang biaya, kecepatan, dan efisiensi. Temukan mengapa API berbasis AI seperti CapSolver adalah pilihan terbaik untuk otomatisasi.

Logo of CapSolver

Adélia Cruz

03-Apr-2026

Penjelasan Waktu Respons API Penyelesaian CAPTCHA: Faktor Kecepatan & Kinerja
Penjelasan Waktu Respons API Penyelesaian CAPTCHA: Faktor Kecepatan dan Kinerja

Pahami waktu respons API penyelesaian CAPTCHA, dampaknya terhadap otomatisasi, dan faktor kunci yang memengaruhi kecepatan. Pelajari cara mengoptimalkan kinerja dan memanfaatkan solusi efisien seperti CapSolver untuk penyelesaian CAPTCHA yang cepat.

The other captcha
Logo of CapSolver

Emma Foster

03-Apr-2026

Apa Itu API Pemecah CAPTCHA? Bagaimana Cara Kerjanya dan Kapan Menggunakannya
Apa Itu API Pemecah CAPTCHA? Bagaimana Cara Kerjanya dan Kapan Menggunakannya

Pelajari apa itu API penyelesaian CAPTCHA, bagaimana cara kerjanya, dan kapan menggunakannya untuk otomatisasi. Temukan manfaat penyelesaian CAPTCHA berbasis AI untuk scraping web.

The other captcha
Logo of CapSolver

Sora Fujimoto

02-Apr-2026

Pilih API Pemecahan CAPTCHA
Cara Memilih API Penyelesaian CAPTCHA? Panduan Pembeli 2026 dan Perbandingan

Pelajari cara memilih API penyelesaian CAPTCHA untuk web scraping dan agen AI. Bandingkan akurasi, kecepatan, dan biaya untuk menemukan solusi otomatis terbaik untuk kebutuhan Anda.

Logo of CapSolver

Aloísio Vítor

02-Apr-2026

Mengapa CAPTCHA Menghambat Pengguna: Pemicu, Penghindaran & Solusi
Mengapa CAPTCHA Memblokir Pengguna: Pemicu, Penghindaran & Solusi

Eksplorasi mengapa CAPTCHA menghalangi pengguna sah, pemicu umum seperti reputasi IP yang buruk dan masalah browser, serta strategi penghindaran yang efektif. Pelajari bagaimana solusi profesional seperti CapSolver menangani CAPTCHA secara skala untuk otomatisasi.

Logo of CapSolver

Nikolai Smirnov

02-Apr-2026

Meningkatkan Otomatisasi Perusahaan:
Meningkatkan Otomatisasi Perusahaan: Infrastruktur Berbasis LLM untuk Pengenalan CAPTCHA yang Mulus & Efisiensi Operasional

Ketahui bagaimana Infrastruktur Otomatisasi AI yang didukung LLM mengubah pengenalan CAPTCHA, meningkatkan efisiensi proses bisnis dan mengurangi intervensi manual. Optimalkan operasi otomatis Anda dengan solusi verifikasi canggih.

AI
Logo of CapSolver

Adélia Cruz

30-Mar-2026