CAPSOLVER
Blog
Cara melakukan Web Scraping dengan Puppeteer dan NodeJS pada 2024 | tutorial Puppeteer

Cara melakukan Web Scraping dengan Puppeteer dan NodeJS | Tutorial Puppeteer

Logo of CapSolver

Ethan Collins

Pattern Recognition Specialist

12-Nov-2025

Web scraping adalah teknik yang kuat yang digunakan untuk mengekstrak data dari situs web. Dalam tutorial ini, kita akan menjelajahi cara melakukan web scraping menggunakan Puppeteer dan Node.js, dua teknologi populer dalam ekosistem pengembangan web. Puppeteer adalah perpustakaan Node.js yang menyediakan API tingkat tinggi untuk mengontrol browser Chrome atau Chromium tanpa antarmuka. Ini memungkinkan kita untuk mengotomasi tindakan browser, menelusuri halaman web, dan mengekstrak data yang diinginkan. Dengan menggabungkan Puppeteer dengan fleksibilitas Node.js, kita dapat membangun solusi web scraping yang kuat dan efisien. Mari kita masuk ke langkah-langkah yang terlibat dalam mengambil data dari situs web menggunakan Puppeteer.

Apa Itu Puppeteer?

Puppeteer adalah kerangka kerja terkini yang memungkinkan penguji untuk melakukan pengujian browser tanpa antarmuka dengan Google Chrome. Dengan pengujian Puppeteer, penguji dapat mengeksekusi perintah JavaScript untuk berinteraksi dengan halaman web, termasuk tindakan seperti mengklik tautan, mengisi formulir, dan mengirim tombol.

Dikembangkan oleh Google, Puppeteer adalah perpustakaan Node.js yang memungkinkan kontrol yang mulus terhadap Chrome tanpa antarmuka melalui Protokol DevTools. Ini menyediakan sejumlah API tingkat tinggi yang memfasilitasi pengujian otomatis, pengembangan fitur situs web, debugging, inspeksi elemen, dan profiling kinerja.

Dengan Puppeteer, Anda dapat menggunakan (tanpa antarmuka) Chromium atau Chrome untuk membuka situs web, mengisi formulir, mengklik tombol, mengekstrak data, dan secara umum melakukan tindakan apa pun yang dapat dilakukan manusia saat menggunakan komputer. Ini membuat Puppeteer menjadi alat yang sangat kuat untuk web scraping, tetapi juga untuk mengotomasi alur kerja yang kompleks di web. Memiliki pemahaman yang jelas tentang Puppeteer dan kemampuannya sangat berharga bagi penguji dan pengembang dalam lingkungan pengembangan web modern.

Apa Keuntungan Menggunakan Puppeteer untuk Web Scraping?

Axios dan Cheerio adalah pilihan yang sangat baik untuk mengambil data dengan JavaScript. Namun, ini menimbulkan dua masalah: mengambil konten dinamis dan perangkat lunak anti-scraping. Karena Puppeteer adalah browser tanpa antarmuka, ia tidak mengalami kesulitan dalam mengambil konten dinamis.
Juga Puppeteer menawarkan sejumlah keuntungan signifikan untuk web scraping:

  1. Otomatisasi Browser Tanpa Antarmuka: Dengan Puppeteer, Anda dapat mengontrol browser Chrome tanpa antarmuka secara programatis, memungkinkan otomatisasi tindakan browser seperti mengklik, menggulir, mengisi formulir, dan mengekstrak data tanpa jendela browser yang terlihat.

  2. Fungsi Chrome Penuh dan Manipulasi DOM: Puppeteer menyediakan akses ke seluruh fungsi Chrome, membuatnya cocok untuk mengambil data dari situs web modern dengan konten yang berat JavaScript. Anda dapat dengan mudah berinteraksi dengan elemen halaman, mengubah atribut, dan melakukan tindakan seperti mengklik tombol atau mengirim formulir.

  3. Simulasi Interaksi Pengguna dan Penangkapan Peristiwa: Puppeteer memungkinkan Anda untuk mensimulasikan interaksi pengguna dan menangkap permintaan dan respons jaringan. Ini memungkinkan pengambilan data dari halaman yang memerlukan input pengguna atau konten yang dimuat secara dinamis melalui permintaan AJAX atau WebSocket.

  4. Kemampuan Kinerja dan Debugging: Mesin Chrome yang dioptimalkan dari Puppeteer memastikan pengambilan data yang efisien, dan integrasinya dengan DevTools menawarkan kemampuan debugging dan pengujian yang kuat. Anda dapat melakukan debugging halaman web, mencatat pesan konsol, melacak aktivitas jaringan, dan menganalisis metrik kinerja.

Dalam panduan berikut, saya akan menjelajahi proses web scraping menggunakan Puppeteer dan Node.js, serta mengintegrasikan solusi penyelesaian CAPTCHA terkini, CapSolver, untuk mengatasi salah satu tantangan utama yang dihadapi selama web scraping.

Kode Bonus

Kode bonus untuk solusi CAPTCHA terbaik; CapSolver : WEBS. Setelah Anda menukarkannya, Anda akan mendapatkan bonus tambahan 5% setiap kali recharge, Tak Terbatas

Cara Menyelesaikan CAPTCHA dalam Puppeteer menggunakan CapSolver saat Web Scraping

Tujuannya adalah menyelesaikan CAPTCHA yang terletak di recaptcha-demo.appspot.com menggunakan CapSolver.

Form CAPTCHA

Selama tutorial ini, kita akan mengambil langkah-langkah berikut untuk menyelesaikan CAPTCHA di atas:

  1. Instal dependensi yang diperlukan.
  2. Temukan kunci situs dari Form CAPTCHA.
  3. Atur CapSolver.
  4. Selesaikan CAPTCHA.

Instalasi Dependensi yang Diperlukan

Untuk memulai, kita perlu menginstal dependensi berikut untuk tutorial ini:

  • capsolver-python: SDK Python resmi untuk integrasi yang mudah dengan API CapSolver.
  • pyppeteer: pyppeteer adalah port Python dari Puppeteer.

Instal dependensi ini dengan menjalankan perintah berikut:

Copy
python -m pip install pyppeteer capsolver-python

Sekarang, Buat file bernama main.py di mana kita akan menulis kode Python untuk menyelesaikan CAPTCHA.

bash Copy
touch main.py

Dapatkan Kunci Situs dari Form CAPTCHA

Kunci Situs adalah identifikasi unik yang diberikan oleh Google yang secara unik mengidentifikasi setiap CAPTCHA.

Untuk menyelesaikan CAPTCHA, diperlukan untuk mengirim Kunci Situs ke CapSolver.

Mari kita temukan Kunci Situs dari Form CAPTCHA dengan mengikuti langkah-langkah berikut:

  1. Kunjungi Form CAPTCHA.
Form CAPTCHA
  1. Buka Chrome Dev Tools dengan menekan Ctrl/Cmd + Shift + I.
  2. Pergi ke tab Elements dan cari data-sitekey. Salin nilai atributnya.
Kunci Situs
  1. Simpan Kunci Situs di tempat yang aman karena akan digunakan dalam bagian berikutnya saat kita mengirim CAPTCHA ke CapSolver.

Atur CapSolver

Untuk menyelesaikan CAPTCHA menggunakan CapSolver, Anda perlu membuat akun CapSolver, menambahkan dana ke akun Anda, dan mendapatkan Kunci API. Ikuti langkah-langkah berikut untuk menyiapkan akun CapSolver Anda:

  1. Daftar untuk akun CapSolver dengan mengunjungi CapSolver

  2. Tambahkan dana ke akun CapSolver Anda menggunakan PayPal, Kripto, atau metode pembayaran lain yang tercantum. Harap dicatat bahwa jumlah deposit minimum adalah $6, dan pajak tambahan berlaku.

  3. Sekarang, salin Kunci API yang diberikan oleh CapSolver dan simpan dengan aman untuk digunakan nanti.

Menyelesaikan CAPTCHA

Sekarang, kita akan melanjutkan untuk menyelesaikan CAPTCHA menggunakan CapSolver. Proses keseluruhan melibatkan tiga langkah:

  1. Memulai browser dan mengunjungi halaman CAPTCHA menggunakan pyppeteer.
  2. Menyelesaikan CAPTCHA menggunakan CapSolver.
  3. Mengirimkan respons CAPTCHA.

Baca potongan kode berikut untuk memahami langkah-langkah ini.
Memulai browser dan mengunjungi halaman CAPTCHA:

python Copy
# Mulai browser.
browser = await launch({'headless': False})

# Muat halaman target.
captcha_page_url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
page = await browser.newPage()
await page.goto(captcha_page_url)

Menyelesaikan CAPTCHA menggunakan CapSolver:

python Copy
# Selesaikan reCAPTCHA menggunakan CapSolver.
capsolver = RecaptchaV2Task("YOUR_API_KEY")

site_key = "6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9"
task_id = capsolver.create_task(captcha_page_url, site_key)
result = capsolver.join_task_result(task_id)

# Dapatkan kode reCAPTCHA yang telah diselesaikan.
code = result.get("gRecaptchaResponse")

Menyetel CAPTCHA yang telah diselesaikan pada formulir dan mengirimkannya:

python Copy
# Setel kode reCAPTCHA yang telah diselesaikan pada formulir.
recaptcha_response_element = await page.querySelector('#g-recaptcha-response')
await page.evaluate(f'(element) => element.value = "{code}"', recaptcha_response_element)

# Kirim formulir.
submit_btn = await page.querySelector('button[type="submit"]')
await submit_btn.click()

Menggabungkan Semuanya

Berikut adalah kode lengkap untuk tutorial ini, yang akan menyelesaikan CAPTCHA menggunakan CapSolver.

python Copy
import asyncio
from pyppeteer import launch
from capsolver_python import RecaptchaV2Task

# Kode berikut menyelesaikan tantangan reCAPTCHA v2 menggunakan CapSolver.
async def main():
    # Mulai Browser.
    browser = await launch({'headless': False})

    # Muat halaman target.
    captcha_page_url = "https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php"
    page = await browser.newPage()
    await page.goto(captcha_page_url)

    # Selesaikan reCAPTCHA menggunakan CapSolver.
    print("Menyelesaikan CAPTCHA")
    capsolver = RecaptchaV2Task("YOUR_API_KEY")

    site_key = "6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9"
    task_id = capsolver.create_task(captcha_page_url, site_key)
    result = capsolver.join_task_result(task_id)

    # Dapatkan kode reCAPTCHA yang telah diselesaikan.
    code = result.get("gRecaptchaResponse")
    print(f"Berhasil menyelesaikan reCAPTCHA. Kode penyelesaian adalah {code}")

    # Setel kode reCAPTCHA yang telah diselesaikan pada formulir.
    recaptcha_response_element = await page.querySelector('#g-recaptcha-response')
    await page.evaluate(f'(element) => element.value = "{code}"', recaptcha_response_element)

    # Kirim formulir.
    submit_btn = await page.querySelector('button[type="submit"]')
    await submit_btn.click()

    # Berhenti sementara eksekusi sehingga Anda dapat melihat layar setelah pengiriman sebelum menutup driver
    input("Pengiriman CAPTCHA Berhasil. Tekan enter untuk melanjutkan")

    # Tutup Browser.
    await browser.close()

if __name__ == "__main__":
    asyncio.get_event_loop().run_until_complete(main())

Tempelkan kode di atas ke file main.py Anda. Ganti YOUR_API_KEY dengan Kunci API Anda dan jalankan kode.

Anda akan melihat bahwa CAPTCHA akan diselesaikan, dan Anda akan dihargai dengan halaman sukses.

Cara Menyelesaikan CAPTCHA dalam NodeJS menggunakan CapSolver saat Web Scraping

Prasyarat

  • Proxy (Opsional)
  • Node.JS terinstal
  • Kunci API Capsolver

Langkah 1: Instal Paket yang Diperlukan

Jalankan perintah berikut untuk menginstal paket yang diperlukan:

python Copy
npm install axios

Kode Node.JS untuk menyelesaikan reCaptcha v2 tanpa proxy

Berikut adalah skrip contoh Node.JS untuk menyelesaikan tugas:

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

const PAGE_URL = ""; // Ganti dengan Situs Anda
const SITE_KEY = ""; // Ganti dengan Situs Anda
const CLIENT_KEY = "";  // Ganti dengan Kunci API CAPSOLVER Anda

async function createTask(payload) {
  try {
    const res = await axios.post('https://api.capsolver.com/createTask', {
      clientKey: CLIENT_KEY,
      task: payload
    });
    return res.data;
  } catch (error) {
    console.error(error);
  }
}
async function getTaskResult(taskId) {
    try {
        success = false;
        while(success == false){

            await sleep(1000);
        console.log("Mengambil hasil tugas untuk ID tugas: " + taskId);
      const res = await axios.post('https://api.capsolver.com/getTaskResult', {
        clientKey: CLIENT_KEY,
        taskId: taskId
      });
      if( res.data.status == "ready") {
        success = true;
        console.log(res.data)
        return res.data;
      }
    }
  
    } catch (error) {
      console.error(error);
      return null;
    }
  }
  

async function solveReCaptcha(pageURL, sitekey) {
  const taskPayload = {
    type: "ReCaptchaV2TaskProxyless",
    websiteURL: pageURL,
    websiteKey: sitekey,
  };
  const taskData = await createTask(taskPayload);
  return await getTaskResult(taskData.taskId);
}
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
async function main() {
  try {
   
      const response = await solveReCaptcha(PAGE_URL, SITE_KEY );
      console.log(`Menerima token: ${response.solution.gReCaptcharesponse}`);
        
    }
catch (error) {
    console.error(`Error: ${error}`);
  }

}
main();

👀 Informasi Lebih Lanjut

Kesimpulan:

Dalam tutorial ini, kita telah belajar cara menyelesaikan CAPTCHA menggunakan CapSolver saat melakukan web scraping dengan Puppeteer dan Node.js. Dengan memanfaatkan API CapSolver, kita dapat mengotomatisasi proses penyelesaian CAPTCHA dan membuat tugas web scraping menjadi lebih efisien dan andal. Ingatlah untuk mematuhi ketentuan dan kondisi situs web yang Anda ambil data dan gunakan web scraping secara bertanggung jawab.

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

Cara Mengatasi Captchas Saat Scrapping Web dengan Scrapling dan CapSolver
Cara Menyelesaikan Captchas Ketika Web Scraping dengan Scrapling dan CapSolver

Scrapling + CapSolver memungkinkan pengambilan data otomatis dengan ReCaptcha v2/v3 dan Cloudflare Turnstile bypass.

web scraping
Logo of CapSolver

Adélia Cruz

05-Dec-2025

Penyedotan Web dengan Selenium dan Python
Mengambil Data Web dengan Selenium dan Python | Menyelesaikan Captcha Saat Mengambil Data Web

Dalam artikel ini, Anda akan mengenal pengambilan data web menggunakan Selenium dan Python, serta mempelajari cara menyelesaikan Captcha yang terkait dalam proses untuk ekstraksi data yang efisien.

web scraping
Logo of CapSolver

Emma Foster

04-Dec-2025

Web Scraping dalam Golang dengan Colly
Web Scraping di Golang dengan Colly

Pada blog ini, kita akan menjelajahi dunia web scraping menggunakan Golang dengan pustaka Colly. Panduan ini dimulai dengan membantu Anda mengatur proyek Golang dan menginstal paket Colly. Kemudian kita akan membimbing Anda melalui pembuatan pengumpul dasar untuk mengekstrak tautan dari halaman Wikipedia, menunjukkan kemudahan penggunaan dan fitur canggih Colly.

web scraping
Logo of CapSolver

Nikolai Smirnov

04-Dec-2025

Apa Itu Web Scraping
Apa Itu Web Scraping | Contoh Penggunaan dan Masalah

Pelajari tentang web scraping: pelajari manfaatnya, atasi tantangan dengan mudah, dan tingkatkan bisnis Anda dengan CapSolver.

web scraping
Logo of CapSolver

Lucas Mitchell

03-Dec-2025

Apa itu puppeteer
Apa itu puppeteer dan cara menggunakannya dalam web scraping | Panduan Lengkap 2026

Panduan lengkap ini akan membahas secara mendalam apa itu Puppeteer dan cara menggunakannya secara efektif dalam pengambilan data web.

web scraping
Logo of CapSolver

Emma Foster

03-Dec-2025

Cara Membuat Agen AI Penyedot Web (Tutorial Ramah Pemula)
Cara Membuat Agen AI Pengambil Data Web (Panduan Ramah Pemula)

Pelajari cara membuat AI Agent Web Scraper dari awal dengan tutorial yang ramah pemula ini. Temukan komponen inti, contoh kode, dan cara mengatasi pengukuran anti-bot seperti CAPTCHAs untuk pengumpulan data yang andal.

web scraping
Logo of CapSolver

Emma Foster

02-Dec-2025