Tutorial Scraping Shopee Pakai Node JS Puppeteer 2026: Panduan Lengkap & Anti-Blokir

Apakah Anda sedang mencari cara efektif untuk mengumpulkan data produk dari marketplace terbesar di Asia Tenggara? Di tahun 2026 ini, persaingan bisnis e-commerce semakin ketat, dan memiliki data yang akurat adalah kunci kemenangan. Dalam artikel ini, kita akan membahas secara mendalam tentang tutorial scraping shopee pakai node js puppeteer 2026 yang dirancang khusus untuk menembus sistem keamanan terbaru.

Scraping data bukan lagi sekadar hobi bagi para developer, melainkan kebutuhan strategis bagi analis pasar, pemilik toko online, hingga pengembang aplikasi perbandingan harga. Namun, menambang data dari Shopee tidak semudah membalikkan telapak tangan karena sistem proteksi bot mereka yang semakin canggih. Jangan khawatir, panduan ini akan membimbing Anda dari nol hingga berhasil mendapatkan data yang diinginkan secara otomatis.

Mengapa Scraping Shopee Penting di Tahun 2026?

Di era ekonomi digital 2026, data adalah mata uang baru. Dengan melakukan scraping pada Shopee, Anda bisa memantau tren produk yang sedang naik daun, melakukan riset harga kompetitor secara real-time, hingga menganalisis sentimen pelanggan melalui ulasan produk. Menggunakan tutorial scraping shopee pakai node js puppeteer 2026 memberikan Anda keunggulan kompetitif yang signifikan.

Puppeteer, sebagai library Node.js yang dikembangkan oleh tim Google Chrome, tetap menjadi pilihan utama karena kemampuannya dalam mengontrol browser secara penuh (headless maupun headful). Ini memungkinkan kita untuk mensimulasikan perilaku manusia yang asli, yang sangat krusial untuk melewati deteksi bot Shopee yang semakin agresif.

Persiapan Lingkungan Pengembangan (Environment Setup)

Sebelum masuk ke kode program, pastikan perangkat Anda sudah siap. Anda memerlukan sistem operasi yang stabil (Windows, macOS, atau Linux) dan koneksi internet yang mumpuni. Berikut adalah daftar alat yang harus Anda miliki:

  • Node.js: Versi LTS terbaru (minimal versi 20.x ke atas untuk stabilitas terbaik di tahun 2026).
  • Code Editor: Visual Studio Code (VS Code) sangat direkomendasikan.
  • Terminal/CMD: Untuk menjalankan perintah npm dan mengeksekusi script.

Instalasi Node.js dan Library Puppeteer

Langkah pertama dalam tutorial scraping shopee pakai node js puppeteer 2026 adalah menginisialisasi proyek Anda. Buka terminal dan buat folder baru untuk proyek Anda:

mkdir shopee-scraper-2026
cd shopee-scraper-2026
npm init -y

Selanjutnya, instal library utama yang kita butuhkan. Selain Puppeteer standar, kita akan menginstal puppeteer-extra dan plugin stealth untuk meminimalkan risiko pemblokiran IP.

npm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth

Library puppeteer-extra-plugin-stealth sangat penting karena ia akan menyembunyikan jejak bahwa browser kita dikendalikan oleh script otomatis. Tanpa ini, Shopee akan dengan mudah mendeteksi aktivitas Anda sebagai bot dan menampilkan tantangan CAPTCHA atau memblokir akses sama sekali.

Langkah Dasar Tutorial Scraping Shopee Pakai Node JS Puppeteer 2026

Mari kita mulai dengan membuat file bernama index.js. Di tahap awal ini, kita akan mencoba membuka halaman pencarian Shopee. Perlu diingat bahwa di tahun 2026, Shopee sering memperbarui struktur DOM (Document Object Model) mereka, jadi kita harus fleksibel dengan selector CSS.

“Kunci dari scraping yang sukses bukan hanya pada kodenya, tapi pada kemampuannya beradaptasi dengan perubahan struktur website target.”

Berikut adalah struktur dasar script untuk memulai browser:

const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());

async function mulaiScraping() {
  const browser = await puppeteer.launch({ 
    headless: false, // Set ke true jika ingin berjalan di latar belakang
    args: ['--no-sandbox', '--disable-setuid-sandbox']
  });
  const page = await browser.newPage();
  
  // Mengatur User Agent agar terlihat seperti browser asli
  await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36');

  await page.goto('https://shopee.co.id/search?keyword=laptop', { waitUntil: 'networkidle2' });
  
  console.log('Halaman berhasil dibuka!');
  // Tunggu beberapa detik untuk observasi
  await new Promise(r => setTimeout(r, 5000));
  await browser.close();
}

mulaiScraping();

Menggunakan Puppeteer Stealth agar Tidak Terdeteksi

Dalam tutorial scraping shopee pakai node js puppeteer 2026, teknik stealth adalah pembeda antara keberhasilan dan kegagalan. Shopee menggunakan berbagai teknik sidik jari browser (browser fingerprinting) untuk mengidentifikasi bot. Plugin stealth yang kita instal sebelumnya secara otomatis memodifikasi properti JavaScript seperti navigator.webdriver, chrome.runtime, dan lainnya.

Selain plugin, Anda juga disarankan untuk menggunakan proxy perumahan (residential proxies) jika ingin melakukan scraping dalam skala besar. Proxy ini akan memberikan alamat IP yang terlihat seperti pengguna internet biasa, bukan dari pusat data (data center) yang sering diblokir oleh firewall Shopee.

Menangani Lazy Loading dan Infinite Scroll

Salah satu tantangan terbesar saat scraping Shopee adalah fitur lazy loading. Produk-produk di bagian bawah halaman tidak akan dimuat sampai Anda menggulir layar (scroll) ke bawah. Jika Anda langsung mengambil data tanpa scrolling, Anda hanya akan mendapatkan segelintir produk teratas.

Gunakan fungsi autoscroll berikut untuk memastikan semua konten termuat sempurna:

async function autoScroll(page) {
  await page.evaluate(async () => {
    await new Promise((resolve) => {
      let totalHeight = 0;
      let distance = 100;
      let timer = setInterval(() => {
        let scrollHeight = document.body.scrollHeight;
        window.scrollBy(0, distance);
        totalHeight += distance;
        if (totalHeight >= scrollHeight) {
          clearInterval(timer);
          resolve();
        }
      }, 100);
    });
  });
}

Panggil fungsi await autoScroll(page); setelah halaman dimuat dan sebelum Anda melakukan ekstraksi data. Ini adalah langkah krusial dalam tutorial scraping shopee pakai node js puppeteer 2026 agar data yang didapat lengkap satu halaman penuh.

Ekstraksi Data: Judul, Harga, dan Rating

Sekarang saatnya kita mengambil data inti. Di tahun 2026, Shopee mungkin menggunakan class CSS yang diacak (obfuscated) seperti _1063G4 atau sejenisnya. Cara terbaik untuk menemukan selector yang tepat adalah dengan Klik Kanan > Inspect pada elemen produk di Chrome.

Berikut adalah contoh logika ekstraksi data menggunakan page.evaluate:

const produk = await page.evaluate(() => {
  const items = Array.from(document.querySelectorAll('.shopee-search-item-result__item'));
  return items.map(item => {
    const nama = item.querySelector('[data-sqe="name"]')?.innerText || 'N/A';
    const harga = item.querySelector('[data-sqe="item_price"]')?.innerText || 'N/A';
    const terjual = item.querySelector('.shopee-search-item-result__item-sold')?.innerText || '0';
    return { nama, harga, terjual };
  });
});
console.log(produk);

Pastikan Anda melakukan pengecekan null (optional chaining ?.) karena terkadang ada elemen yang tidak muncul pada produk tertentu (misalnya produk iklan atau produk yang stoknya habis).

Menyimpan Hasil Scraping ke Format CSV/JSON

Setelah mendapatkan array data produk, langkah selanjutnya dalam tutorial scraping shopee pakai node js puppeteer 2026 adalah menyimpannya ke dalam file agar bisa dianalisis lebih lanjut menggunakan Excel atau tools data science lainnya.

Untuk menyimpan ke JSON, gunakan module bawaan Node.js fs:

const fs = require('fs');
fs.writeFileSync('hasil_shopee.json', JSON.stringify(produk, null, 2));
console.log('Data berhasil disimpan ke hasil_shopee.json');

Jika Anda lebih suka format CSV, Anda bisa menggunakan library json2csv yang sangat populer di kalangan developer Node.js.

Etika dan Aspek Hukum Web Scraping

Sebagai penulis profesional di bidang teknologi, saya harus mengingatkan bahwa web scraping berada di area abu-abu secara hukum. Selalu periksa file robots.txt Shopee (shopee.co.id/robots.txt) untuk melihat batasan apa saja yang mereka tetapkan. Beberapa poin etika yang wajib dipatuhi antara lain:

  • Jangan Membebani Server: Berikan jeda (delay) antar permintaan agar server Shopee tidak down.
  • Data Pribadi: Jangan pernah mengambil data sensitif pengguna atau informasi pribadi tanpa izin.
  • Tujuan Penggunaan: Gunakan data untuk riset internal atau analisis, bukan untuk menduplikasi website mereka secara utuh.

Kesimpulan dan Langkah Selanjutnya

Menguasai tutorial scraping shopee pakai node js puppeteer 2026 adalah keahlian yang sangat berharga. Kita telah mempelajari cara setup environment, menggunakan plugin stealth untuk menghindari blokir, menangani lazy loading, hingga mengekstrak dan menyimpan data. Teknologi terus berkembang, dan kunci kesuksesan scraping adalah terus bereksperimen dengan selector dan teknik bypassing terbaru.

Apakah Anda siap untuk membangun bot scraping pertama Anda? Ingatlah untuk selalu menjalankan script secara bertanggung jawab. Jika Anda menemui kendala dengan CAPTCHA yang sangat sulit, Anda mungkin perlu mengintegrasikan layanan pihak ketiga seperti 2Captcha atau CapMonster di langkah berikutnya.

Untuk membantu Anda memulai lebih cepat, saya telah menyiapkan starter kit script yang bisa Anda pelajari secara mendalam.

Semoga tutorial ini bermanfaat bagi perjalanan karir teknologi Anda. Selamat mencoba dan happy coding!

Tinggalkan komentar