Beberapa bulan lalu, salah satu pengguna kami mengirim screenshot workflow n8n berisi 14 node, setengah lusin sticky note, dan subjek email yang cuma berbunyi: "Help." Mereka sudah mengikuti tutorial web scraping n8n yang populer, berhasil membuat demo 10 baris data di situs uji, lalu mencoba mengambil harga pesaing secara nyata dari 200 halaman produk. Hasilnya? Loop pagination yang rusak, tembok error 403, dan scheduler yang diam-diam berhenti jalan setelah Selasa pertama.
Kesenjangan seperti itulah β antara demo dan pipeline sungguhan β yang membuat kebanyakan proyek scraping di n8n gagal total. Saya sudah bertahun-tahun membangun dan berkecimpung di dunia otomasi, dan saya bisa bilang: bagian scraping itu jarang sekali yang paling sulit. Justru semua hal setelah scraping pertama yang sukses yang sering menjatuhkan orang. Pagination, penjadwalan, penanganan anti-bot, pembersihan data, ekspor, dan β yang paling besar β maintenance saat situs mengubah layout untuk ketiga kalinya kuartal ini. Panduan ini membahas seluruh alur, mulai dari node HTTP Request pertama sampai workflow web scraping n8n yang berulang dan siap produksi. Dan saat pendekatan DIY dari n8n mentok, saya akan tunjukkan bagaimana alat berbasis AI seperti Thunderbit bisa menghemat berjam-jam bahkan berhari-hari frustrasi.
Apa Itu Web Scraping di n8n (dan Mengapa Kebanyakan Tutorial Hanya Menyentuh Permukaannya)
n8n adalah platform automasi workflow open-source dengan pendekatan low-code. Bayangkan seperti kanvas visual tempat Anda menyambungkan "node" β masing-masing punya tugas spesifik (mengambil halaman web, mem-parsing HTML, mengirim pesan Slack, menulis ke Google Sheets) β lalu merangkainya menjadi workflow otomatis. Tidak perlu coding berat, meski Anda bisa menyisipkan JavaScript kalau memang dibutuhkan.
"Web scraping n8n" berarti menggunakan node bawaan HTTP Request dan HTML milik n8n (ditambah node komunitas) untuk mengambil, mengurai, dan memproses data situs web di dalam workflow otomatis itu. Intinya ada dua langkah: Fetch (node HTTP Request mengambil HTML mentah dari sebuah URL) dan Parse (node HTML memakai CSS selector untuk mengekstrak data yang Anda butuhkan β nama produk, harga, email, apa pun).
Platform ini sangat besar: per April 2026, n8n punya , lebih dari 230.000 pengguna aktif, 9.166+ template workflow komunitas, dan merilis minor update baru kira-kira setiap minggu. Pada Maret 2025, mereka juga mendapatkan . Momentumnya besar sekali.
Tapi ada satu celah yang jarang dibahas. Tutorial web scraping n8n paling populer di dev.to (oleh Lakshay Nasa, terbit di bawah organisasi "Extract by Zyte") menjanjikan pagination di "Part 2." Part 2 memang muncul β dan kesimpulan penulisnya sendiri adalah: "N8N gives us a default Pagination Mode inside the HTTP Request node under Options, and while it sounds convenient, it didn't behave reliably in my experience for typical web scraping use cases." Akhirnya, penulis mengalihkan pagination lewat API pihak ketiga berbayar. Sementara itu, pengguna forum n8n terus menyebut "pagination, throttling, login" sebagai titik ketika scraping n8n "jadi kompleks dengan cepat." Panduan ini dibuat untuk menutup celah itu.
Mengapa Web Scraping n8n Penting untuk Tim Sales, Operasional, dan Ecommerce
Web scraping n8n bukan sekadar hobi developer. Ini alat bisnis. bernilai sekitar $1β1,3 miliar pada 2025 dan diproyeksikan mencapai $2β2,3 miliar pada 2030. Dynamic pricing saja dipakai oleh sekitar , dan kini mengandalkan alternative data β banyak di antaranya hasil scraping dari web. McKinsey melaporkan bahwa dynamic pricing menghasilkan bagi penggunanya.
Di sinilah kekuatan n8n benar-benar terlihat: bukan cuma soal mengambil data. Yang lebih penting adalah apa yang terjadi setelahnya. n8n memungkinkan Anda menyambungkan scraping dengan aksi lanjutan β update CRM, notifikasi Slack, ekspor spreadsheet, analisis AI β dalam satu workflow.
| Use Case | Who Benefits | What You Scrape | Business Outcome |
|---|---|---|---|
| Lead generation | Tim sales | Direktori bisnis, halaman kontak | Mengisi CRM dengan lead berkualitas |
| Pemantauan harga pesaing | Operasional ecommerce | Halaman listing produk | Menyesuaikan harga secara real time |
| Pelacakan listing properti | Agen properti | Zillow, Realtor, situs MLS lokal | Menangkap listing baru sebelum pesaing |
| Riset pasar | Tim marketing | Situs ulasan, forum, berita | Mengidentifikasi tren dan sentimen pelanggan |
| Pemantauan stok vendor/SKU | Operasional rantai pasok | Halaman produk pemasok | Menghindari kehabisan stok, mengoptimalkan pembelian |
Datanya menunjukkan ROI-nya nyata: berencana meningkatkan investasi AI pada 2025, dan automated lead nurturing terbukti dalam sembilan bulan. Kalau tim Anda masih copy-paste dari website ke spreadsheet, berarti ada uang yang dibiarkan hilang.
Toolbox Web Scraping n8n: Node Inti dan Solusi yang Tersedia
Sebelum membangun apa pun, Anda perlu tahu isi toolbox-nya. Berikut node n8n yang paling penting untuk web scraping:
- HTTP Request node: Mengambil HTML mentah dari URL mana pun. Bekerja seperti browser yang meminta halaman, tetapi mengembalikan kode sumber, bukan merendernya. Mendukung GET/POST, header, batching, dan secara teori pagination bawaan.
- HTML node (sebelumnya "HTML Extract"): Mem-parsing HTML dengan CSS selector untuk mengambil data spesifik β judul, harga, link, gambar, apa pun yang Anda butuhkan.
- Code node: Memungkinkan Anda menulis potongan JavaScript untuk membersihkan data, menormalkan URL, menghapus duplikat, dan logika khusus.
- Edit Fields (Set) node: Menyusun ulang atau mengganti nama field data untuk node berikutnya.
- Split Out node: Memecah array menjadi item-item terpisah untuk diproses.
- Convert to File node: Mengekspor data terstruktur ke CSV, JSON, dan format lain.
- Loop Over Items node: Melakukan iterasi atas daftar (krusial untuk pagination β nanti dibahas lebih jauh).
- Schedule Trigger: Menjalankan workflow sesuai jadwal cron.
- Error Trigger: Memberi peringatan saat workflow gagal (penting untuk produksi).
Untuk scraping tingkat lanjut β situs yang dirender dengan JavaScript atau punya proteksi anti-bot yang kuat β Anda akan butuh node komunitas:
| Pendekatan | Paling Cocok Untuk | Level Keahlian | Bisa Menangani Situs yang Dirender JS | Penanganan Anti-Bot |
|---|---|---|---|---|
| n8n HTTP Request + node HTML | Situs statis, API | PemulaβMenengah | Tidak | Manual (header, proxy) |
| n8n + node komunitas ScrapeNinja/Firecrawl | Situs dinamis/terproteksi | Menengah | Ya | Bawaan (rotasi proxy, CAPTCHA) |
| n8n + Headless Browser (Puppeteer) | Interaksi JS yang kompleks | Lanjutan | Ya | Sebagian (tergantung setup) |
| Thunderbit (AI Web Scraper) | Situs apa pun, pengguna non-teknis | Pemula | Ya (mode Browser atau Cloud) | Bawaan (mewarisi sesi browser atau penanganan cloud) |
Per v2.15.1, tidak ada node headless browser bawaan di n8n. Setiap scraping situs JS-rendered memerlukan node komunitas atau API eksternal.
Sedikit catatan soal Thunderbit: ini adalah berbasis AI yang kami bangun. Anda klik "AI Suggest Fields", lalu "Scrape", dan data terstruktur langsung didapat β tanpa CSS selector, tanpa konfigurasi node, tanpa maintenance. Nanti saya tunjukkan kapan ia paling cocok dipakai (dan kapan n8n lebih tepat) sepanjang panduan ini.
Langkah demi Langkah: Membangun Workflow Web Scraping n8n Pertama Anda
Setelah toolbox-nya jelas, mari kita bangun web scraper n8n yang benar-benar berjalan dari nol. Saya akan memakai halaman listing produk sebagai contoh β jenis data yang memang realistis untuk dipakai memantau harga atau riset kompetitor.
Sebelum Mulai:
- Tingkat Kesulitan: PemulaβMenengah
- Waktu yang Dibutuhkan: ~20β30 menit
- Yang Anda Perlukan: n8n (self-hosted atau Cloud), target URL, browser Chrome (untuk mencari CSS selector)
Langkah 1: Buat Workflow Baru dan Tambahkan Manual Trigger
Buka n8n, klik "New Workflow," lalu beri nama yang deskriptif β misalnya "Competitor Price Scraper." Tarik node Manual Trigger. (Nanti kita upgrade ke scheduled trigger.)
Anda akan melihat satu node di kanvas, siap dijalankan saat Anda klik "Test Workflow."
Langkah 2: Ambil Halaman dengan Node HTTP Request
Tambahkan node HTTP Request dan sambungkan ke Manual Trigger. Atur method ke GET dan masukkan URL target Anda (misalnya, https://example.com/products).
Sekarang langkah penting yang sering dilewatkan tutorial: tambahkan header User-Agent yang realistis. Secara default, n8n mengirim axios/xx sebagai user agent β dan itu langsung terlihat seperti bot. Di bagian "Headers", tambahkan:
| Header Name | Value |
|---|---|
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 |
| Accept | text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 |
Kalau Anda scraping banyak URL, aktifkan Batching (di bawah Options) dan atur jeda 1β3 detik antar request. Ini membantu menghindari rate limit.
Jalankan node-nya. Anda akan melihat HTML mentah di panel output.
Langkah 3: Parse Data dengan Node HTML
Hubungkan node HTML ke output HTTP Request. Atur operasinya ke Extract HTML Content.
Untuk mencari CSS selector yang tepat, buka halaman target di Chrome, klik kanan data yang Anda inginkan (misalnya judul produk), lalu pilih "Inspect." Di panel Elements, klik kanan elemen HTML yang disorot dan pilih "Copy β Copy selector."
Atur nilai ekstraksi seperti ini:
| Key | CSS Selector | Return Value |
|---|---|---|
| product_name | .product-title | Text |
| price | .price-current | Text |
| url | .product-link | Attribute: href |
Jalankan node-nya. Anda akan melihat tabel data terstruktur β nama produk, harga, dan URL β di output.
Langkah 4: Bersihkan dan Normalisasi dengan Node Code
Data hasil scraping mentah biasanya berantakan. Harga mungkin punya spasi berlebih, URL bisa relatif, dan field teks sering menyisakan baris baru di akhir. Tambahkan node Code dan sambungkan ke node HTML.
Berikut cuplikan JavaScript sederhana untuk merapikan datanya:
1return items.map(item => {
2 const d = item.json;
3 return {
4 json: {
5 product_name: (d.product_name || '').trim(),
6 price: parseFloat((d.price || '').replace(/[^0-9.]/g, '')),
7 url: d.url && d.url.startsWith('http') ? d.url : `https://example.com${d.url}`
8 }
9 };
10});
Langkah ini penting untuk data yang siap produksi. Kalau dilewati, spreadsheet Anda akan penuh entri seperti "$ 29.99\n".
Langkah 5: Ekspor ke Google Sheets, Airtable, atau CSV
Sambungkan node Google Sheets (atau Airtable, atau Convert to File untuk CSV). Autentikasi dengan akun Google Anda, pilih spreadsheet dan sheet, lalu petakan field dari output Code node ke header kolom Anda.
Jalankan seluruh workflow. Anda akan melihat data yang bersih dan terstruktur masuk ke spreadsheet.
Catatan tambahan: ke Google Sheets, Airtable, Notion, dan Excel tanpa perlu setup node apa pun. Kalau Anda tidak butuh rantai workflow penuh dan hanya ingin datanya, ini jalan pintas yang sangat berguna.
Bagian yang Sering Dilewatkan Tutorial Web Scraping n8n: Workflow Pagination Lengkap
Pagination adalah celah nomor satu dalam konten scraping n8n β dan sumber frustrasi terbesar di forum komunitas n8n.
Ada dua pola pagination utama:
- Pagination berbasis klik / increment URL β halaman seperti
?page=1,?page=2, dan seterusnya. - Infinite scroll β konten muncul saat Anda menggulir ke bawah (seperti Twitter, Instagram, atau banyak katalog produk modern).
Pagination Berbasis Klik di n8n (Increment URL dengan Loop Node)
Opsi Pagination bawaan di menu Options pada node HTTP Request terdengar praktis. Dalam praktiknya, hasilnya tidak selalu andal. Penulis tutorial scraping n8n paling populer (Lakshay Nasa) sudah mencobanya dan menulis: "it didn't behave reliably in my experience." Pengguna forum melaporkan , , dan kegagalan mendeteksi halaman terakhir.

Pendekatan yang lebih andal: bangun daftar URL secara eksplisit di node Code, lalu iterasi dengan Loop Over Items.
Begini caranya:
- Tambahkan node Code yang menghasilkan URL halaman:
1const base = 'https://example.com/products';
2const totalPages = 10; // atau deteksi secara dinamis
3return Array.from({length: totalPages}, (_, i) => ({
4 json: { url: `${base}?page=${i + 1}` }
5}));
- Hubungkan node Loop Over Items untuk melakukan iterasi atas daftar tersebut.
- Di dalam loop, tambahkan node HTTP Request (atur URL ke
{{ $json.url }}), lalu node HTML untuk parsing. - Tambahkan node Wait (1β3 detik, acak) di dalam loop untuk menghindari rate limit 429.
- Setelah loop, gabungkan hasil dan ekspor ke Google Sheets atau CSV.
Rantai lengkapnya: Code (buat URL) β Loop Over Items β HTTP Request β HTML β Wait β (kembali ke loop) β Aggregate β Export.
Satu hal yang perlu diwaspadai: node Loop Over Items punya di mana nested loop bisa diam-diam melewatkan item. Kalau Anda melakukan pagination dan enrichment subpage, uji dengan hati-hati β jumlah "done" mungkin tidak sama dengan jumlah input.
Pagination Infinite Scroll: Mengapa Node Bawaan n8n Sulit Menanganinya
Halaman infinite scroll memuat konten via JavaScript saat Anda menggulir. Node HTTP Request hanya mengambil HTML awal β ia tidak bisa menjalankan JavaScript atau memicu event scroll. Anda punya dua pilihan:
- Gunakan node komunitas headless browser (misalnya atau ) untuk merender halaman dan mensimulasikan scroll.
- Gunakan scraping API (ScrapeNinja, Firecrawl, ZenRows) dengan rendering JS yang diaktifkan.
Keduanya menambah kompleksitas yang cukup besar. Anda bisa membutuhkan 30β60+ menit setup per situs, ditambah maintenance berkelanjutan.
Bagaimana Thunderbit Menangani Pagination Tanpa Konfigurasi
Saya memang bias, tetapi perbedaannya sangat terasa:
| Kemampuan | n8n (Workflow DIY) | Thunderbit |
|---|---|---|
| Pagination berbasis klik | Setup node loop manual, increment URL | Otomatis β mendeteksi dan mengikuti pagination |
| Halaman infinite scroll | Perlu headless browser + node komunitas | Dukungan bawaan, tanpa konfigurasi |
| Usaha setup | 30β60 menit per situs | 2 klik |
| Halaman per batch | Berurutan (satu per satu) | 50 halaman sekaligus (Cloud Scraping) |
Kalau Anda scraping 200 halaman produk dari 10 listing yang terpaginasikan, n8n bisa menghabiskan satu sore penuh. Thunderbit bisa selesai sekitar dua menit. Itu bukan berarti n8n buruk β hanya saja alatnya berbeda untuk pekerjaan yang berbeda.
Atur Sekali, Jalan Terus: Pipeline Web Scraping n8n dengan Pemicu Cron
Scraping sekali jalan memang berguna, tetapi kekuatan sejati web scraping n8n ada pada pengambilan data otomatis yang berulang. Menariknya, hampir tidak ada tutorial scraping n8n yang membahas Schedule Trigger untuk scraping β padahal ini salah satu fitur yang paling sering diminta komunitas.
Membangun Pipeline Pemantauan Harga Harian
Ganti Manual Trigger Anda dengan node Schedule Trigger. Anda bisa memakai UI n8n ("Every day at 8:00 AM") atau ekspresi cron (0 8 * * *).
Rangkaian workflow lengkap:
- Schedule Trigger (setiap hari jam 8 pagi)
- Code node (membuat URL yang terpaginasikan)
- Loop Over Items β HTTP Request β HTML β Wait (scrape semua halaman)
- Code node (membersihkan data, menormalkan harga)
- Google Sheets (menambah baris baru)
- IF node (apakah ada harga di bawah ambang batas?)
- Slack (kirim alert jika ya)
Buat workflow Error Trigger terpisah yang ikut aktif dan memicu notifikasi Slack setiap kali eksekusi gagal. Kalau tidak, saat selector rusak (dan itu pasti bisa terjadi), Anda baru sadar tiga minggu kemudian saat laporan kosong.
Dua syarat penting yang sering tidak disadari:
- n8n harus berjalan 24/7. Self-host di laptop tidak akan memicu apa pun saat tutup layar. Gunakan server, Docker, atau n8n Cloud.
- Setelah setiap edit workflow, matikan lalu aktifkan lagi workflow-nya. n8n Cloud punya di mana scheduler diam-diam ter-unregister setelah edit, tanpa error apa pun.
Membangun Pipeline Ekstraksi Lead Mingguan
Pola yang sama, target berbeda: Schedule Trigger (setiap Senin jam 9 pagi) β HTTP Request (direktori bisnis) β HTML (ambil nama, telepon, email) β Code (hapus duplikat, rapikan format) β push ke Airtable atau HubSpot.

Biaya maintenance di sini sering diremehkan. Kalau situs direktori mengubah layout, CSS selector Anda rusak dan workflow gagal diam-diam. HasData memperkirakan dari waktu build awal harus dianggarkan untuk maintenance berkelanjutan per tahun pada pipeline berbasis selector. Begitu Anda mengelola sekitar 20 situs, overhead-nya memang terasa.
Scheduled Scraper Thunderbit: Alternatif Tanpa Kode
Scheduled Scraper milik Thunderbit memungkinkan Anda mendeskripsikan interval dengan bahasa biasa (misalnya, "setiap Senin jam 9 pagi"), memasukkan URL Anda, lalu klik "Schedule." Semuanya berjalan di cloud β tanpa hosting, tanpa ekspresi cron, tanpa unregister diam-diam.
| Dimensi | Workflow Terjadwal n8n | Thunderbit Scheduled Scraper |
|---|---|---|
| Setup jadwal | Ekspresi cron atau UI schedule n8n | Deskripsikan dengan bahasa biasa |
| Pembersihan data | Perlu node Code manual | AI membersihkan/memberi label/menerjemahkan otomatis |
| Tujuan ekspor | Perlu node integrasi | Google Sheets, Airtable, Notion, Excel (gratis) |
| Kebutuhan hosting | Self-hosted atau n8n Cloud | Tidak ada β berjalan di cloud |
| Maintenance saat situs berubah | Selector rusak, perlu perbaikan manual | AI membaca situs baru setiap kali |
Baris terakhir itulah yang paling penting. Pengguna forum bilang dengan gamblang: "most of them are fine until a site changes its layout." Pendekatan berbasis AI dari Thunderbit menghilangkan masalah itu karena tidak bergantung pada CSS selector yang kaku.
Saat Web Scraper n8n Anda Diblokir: Panduan Troubleshooting Anti-Bot
Terblokir adalah frustrasi nomor satu setelah pagination. Saran standar β "tambahkan header User-Agent" β manfaatnya kira-kira seperti mengunci pintu kasa saat badai topan.
Menurut Imperva 2025 Bad Bot Report, , dan di antaranya bersifat jahat. Vendor anti-bot (Cloudflare, Akamai, DataDome, HUMAN, PerimeterX) merespons dengan TLS fingerprinting, tantangan JavaScript, dan analisis perilaku. Node HTTP Request milik n8n, yang di balik layar memakai library Axios, menghasilkan fingerprint TLS yang khas dan mudah dikenali, bukan fingerprint browser. Mengganti header User-Agent tidak banyak membantu β hash sudah membocorkan identitas Anda bahkan sebelum header HTTP dibaca.
Pohon Keputusan Anti-Bot
Berikut kerangka troubleshooting yang sistematis β bukan sekadar "tambahkan User-Agent":
Request diblokir?
- 403 Forbidden β Tambahkan header User-Agent + Accept (lihat Langkah 2 di atas) β Masih diblokir?
- Ya β Tambahkan rotasi residential proxy β Masih diblokir?
- Ya β Pindah ke scraping API (ScrapeNinja, Firecrawl, ZenRows) atau node komunitas headless browser
- Tidak β Lanjut
- Tidak β Lanjut
- Ya β Tambahkan rotasi residential proxy β Masih diblokir?
- CAPTCHA muncul β Gunakan scraping API dengan pemecah CAPTCHA bawaan (misalnya, )
- Respons kosong (konten dirender JS) β Gunakan node komunitas headless browser atau scraping API dengan rendering JS
- Kena rate limit (error 429) β Aktifkan batching di node HTTP Request, atur jeda 2β5 detik antar batch, kurangi concurrency
Satu hal lagi yang perlu diwaspadai: n8n punya di mana node HTTP Request tidak bisa men-tunnel HTTPS melalui proxy HTTP dengan benar. Library Axios gagal saat TLS handshake, padahal curl di container yang sama berjalan normal. Kalau Anda memakai proxy dan mendapat error koneksi yang aneh, kemungkinan ini penyebabnya.
Mengapa Thunderbit Bisa Melewati Sebagian Besar Masalah Anti-Bot
Thunderbit menawarkan dua mode scraping:
- Browser Scraping: Berjalan di dalam browser Chrome Anda sendiri, mewarisi cookie sesi, status login, dan browser fingerprint Anda. Ini melewati sebagian besar proteksi anti-bot yang memblokir request server-side β karena request itu sendiri datang dari browser sungguhan.
- Cloud Scraping: Untuk situs yang tersedia publik, cloud Thunderbit menangani anti-bot dalam skala besar β .
Kalau Anda menghabiskan lebih banyak waktu melawan Cloudflare daripada menganalisis data, ini alternatif yang lebih praktis.
Tanggapan Jujur: Kapan Web Scraping n8n Berhasil β dan Kapan Sebaiknya Pakai Alat Lain
n8n adalah platform yang hebat. Tapi bukan alat yang tepat untuk semua pekerjaan scraping, dan tidak banyak artikel kompetitor yang jujur soal ini. Pengguna bahkan bertanya di forum: "how difficult is it to create a web scraper with n8n?" dan "which scraping tool works best with n8n?"
Di Mana Web Scraping n8n Unggul
- Workflow multi-langkah yang menggabungkan scraping dengan proses lanjutan β update CRM, notifikasi Slack, analisis AI, penulisan ke database. Ini kekuatan inti n8n.
- Kasus di mana scraping hanya satu node dalam rantai automasi yang lebih besar β scrape β enrich β filter β push ke CRM.
- Pengguna teknis yang nyaman dengan CSS selector dan logika berbasis node.
- Skenario yang butuh transformasi data kustom antara scraping dan penyimpanan.
Di Mana Web Scraping n8n Mulai Merepotkan
- Pengguna non-teknis yang butuh data cepat. Setup node, pencarian CSS selector, dan siklus debugging cukup curam untuk pengguna bisnis.
- Situs dengan proteksi anti-bot berat. Tambahan proxy dan API membuat biaya dan kompleksitas naik.
- Maintenance saat layout situs berubah. CSS selector rusak, workflow gagal diam-diam.
- Scraping massal lintas banyak jenis situs. Setiap situs perlu konfigurasi selector masing-masing.
- Enrichment subpage. Perlu membangun sub-workflow terpisah di n8n.
Perbandingan Langsung: n8n vs. Thunderbit vs. Script Python
| Faktor | Scraping DIY n8n | Thunderbit | Script Python |
|---|---|---|---|
| Keahlian teknis yang dibutuhkan | Menengah (node + CSS selector) | Tidak ada (AI menyarankan field) | Tinggi (coding) |
| Waktu setup per situs baru | 30β90 menit | ~2 menit | 1β4 jam |
| Penanganan anti-bot | Manual (header, proxy, API) | Bawaan (mode browser/cloud) | Manual (library) |
| Maintenance saat situs berubah | Update selector manual | Nol β AI menyesuaikan otomatis | Update kode manual |
| Dukungan workflow multi-langkah | Sangat baik (kekuatan inti) | Ekspor ke Sheets/Airtable/Notion | Butuh kode kustom |
| Biaya skala besar | Hosting n8n + biaya proxy/API | Berbasis credit (~1 credit per baris) | Biaya server + proxy |
| Enrichment subpage | Manual β buat sub-workflow terpisah | Scraping subpage 1 klik | Scripting kustom |
Intinya: pakai n8n saat scraping menjadi bagian dari rantai automasi multi-langkah yang kompleks. Pakai Thunderbit saat Anda butuh data cepat tanpa membangun workflow. Pakai Python saat Anda butuh kontrol maksimal dan punya sumber daya developer. Mereka bukan pesaing β mereka saling melengkapi.

Contoh Workflow Web Scraping n8n yang Benar-Benar Bisa Anda Salin
Pengguna forum terus bertanya: "Has anyone chained these into multi-step workflows?" Berikut tiga workflow spesifik β urutan node nyata yang bisa Anda bangun hari ini.
Workflow 1: Pemantau Harga Pesaing Ecommerce
Tujuan: Melacak harga pesaing setiap hari dan menerima notifikasi saat turun.
Rangkaian node: Schedule Trigger (harian, jam 8 pagi) β Code (buat URL terpaginasikan) β Loop Over Items β HTTP Request β HTML (ambil nama produk, harga, ketersediaan) β Wait (2 detik) β (kembali ke loop) β Code (bersihkan data, normalisasi harga) β Google Sheets (tambahkan baris) β IF (harga di bawah ambang?) β Slack (kirim alert)
Tingkat kompleksitas: 8β10 node, setup 30β60 menit per situs pesaing.
Jalan pintas Thunderbit: Scheduled Scraper Thunderbit + bisa mencapai hasil serupa dalam hitungan menit, dengan ekspor gratis ke Google Sheets.
Workflow 2: Pipeline Generasi Lead Sales
Tujuan: Scrape direktori bisnis setiap minggu, bersihkan dan kategorikan lead, lalu push ke CRM.
Rangkaian node: Schedule Trigger (mingguan, Senin jam 9 pagi) β HTTP Request (halaman listing direktori) β HTML (ambil nama, telepon, email, alamat) β Code (hapus duplikat, rapikan format) β node OpenAI/Gemini (kategorikan berdasarkan industri) β node HubSpot (buat kontak)
Catatan: n8n punya node native β berguna untuk push ke CRM. Tapi langkah scraping dan pembersihan tetap perlu kerja manual pada CSS selector.
Jalan pintas Thunderbit: dan Phone Number Extractor gratis dari Thunderbit bisa mengambil info kontak dalam 1 klik tanpa perlu membangun workflow. AI labeling-nya juga bisa mengkategorikan lead saat ekstraksi. Pengguna yang tidak butuh rantai automasi penuh bisa melewati setup n8n sama sekali.
Workflow 3: Pelacak Listing Properti Baru
Tujuan: Menemukan listing baru di Zillow atau Realtor.com setiap minggu dan mengirim ringkasan email.
Rangkaian node: Schedule Trigger (mingguan) β HTTP Request (halaman listing) β HTML (ambil alamat, harga, kamar tidur, link) β Code (bersihkan data) β Google Sheets (tambahkan) β Code (bandingkan dengan data minggu sebelumnya, tandai listing baru) β IF (ada listing baru?) β Gmail/SendGrid (kirim ringkasan)
Catatan: Thunderbit punya β tanpa perlu CSS selector. Pengguna yang butuh rantai automasi penuh (scrape β compare β alert) lebih diuntungkan oleh n8n; pengguna yang hanya butuh data listing lebih cocok memakai Thunderbit.
Untuk inspirasi workflow lain, library komunitas n8n punya template untuk , , dan .
Tips Agar Pipeline Web Scraping n8n Anda Tetap Lancar
Scraping produksi itu 20% membangun dan 80% memelihara.
Gunakan Batching dan Jeda agar Tidak Kena Rate Limit
Aktifkan batching pada node HTTP Request dan atur jeda 1β3 detik antar batch. Request paralel adalah cara tercepat untuk kena banned IP. Sedikit sabar di awal bisa menghemat banyak masalah nanti.
Pantau Eksekusi Workflow agar Gagal Diam-Diam Bisa Terlihat
Gunakan tab Executions di n8n untuk mengecek run yang gagal. Data hasil scraping bisa saja kosong tanpa error jika situs mengubah layout β workflow terlihat "sukses", tetapi spreadsheet Anda penuh sel kosong.
Buat workflow Error Trigger yang memicu setiap kali eksekusi gagal dan mengirim alert ke Slack atau email. Ini wajib untuk pipeline produksi.
Simpan CSS Selector di Luar Workflow agar Mudah Diperbarui
Simpan CSS selector di Google Sheet atau environment variable n8n supaya Anda bisa memperbaruinya tanpa mengedit workflow langsung. Saat layout situs berubah, Anda hanya perlu mengganti selector di satu tempat.
Tahu Kapan Harus Pindah ke Scraper Berbasis AI
Kalau Anda terus-menerus memperbarui CSS selector, terus berjuang melawan anti-bot, atau menghabiskan lebih banyak waktu merawat scraper daripada memakai datanya, pertimbangkan alat berbasis AI seperti yang membaca situs dari awal setiap kali dan beradaptasi otomatis. Pendekatan sering bekerja sangat baik: Thunderbit menangani lapisan ekstraksi yang rapuh (bagian yang rusak setiap kali situs mengubah <div>), mengekspor ke Google Sheets atau Airtable, lalu n8n mengambil baris baru lewat trigger bawaan Sheets/Airtable untuk menangani orkestrasi β update CRM, alert, logika kondisional, fan-out ke banyak sistem.
Penutup: Bangun Pipeline yang Sesuai dengan Tim Anda
Web scraping n8n sangat kuat ketika Anda butuh scraping sebagai salah satu langkah dalam workflow automasi yang lebih besar. Tapi itu menuntut setup teknis, maintenance berkelanjutan, dan kesabaran menghadapi pagination, anti-bot, dan konfigurasi penjadwalan. Panduan ini membahas seluruh pipeline: workflow pertama Anda, pagination (bagian yang selalu dilewatkan tutorial), penjadwalan, troubleshooting anti-bot, penilaian jujur tentang posisi n8n, dan workflow nyata yang bisa Anda salin.
Begini cara saya memikirkannya:
- Pakai n8n saat scraping adalah bagian dari rantai automasi multi-langkah yang kompleks β update CRM, notifikasi Slack, enrichment AI, routing kondisional.
- Pakai saat Anda butuh data cepat tanpa membangun workflow β AI menangani saran field, pagination, anti-bot, dan ekspor hanya dalam 2 klik.
- Pakai Python saat Anda butuh kontrol maksimal dan punya sumber daya developer.
Jujur saja, setup terbaik untuk banyak tim adalah kombinasi keduanya: Thunderbit untuk ekstraksi, n8n untuk orkestrasi. Kalau Anda ingin melihat bagaimana scraping berbasis AI dibandingkan dengan workflow n8n Anda, memungkinkan Anda bereksperimen dalam skala kecil β dan bisa dipasang dalam hitungan detik. Untuk panduan video dan ide workflow, lihat .
FAQ
Apakah n8n bisa melakukan scraping situs yang banyak memakai JavaScript?
Tidak jika hanya mengandalkan node HTTP Request bawaan. Node HTTP Request mengambil HTML mentah dan tidak bisa menjalankan JavaScript. Untuk situs yang dirender dengan JS, Anda butuh node komunitas seperti atau integrasi scraping API (ScrapeNinja, Firecrawl) yang merender JavaScript di sisi server. Thunderbit menangani situs berat JS secara native dalam mode Browser dan Cloud scraping.
Apakah web scraping n8n gratis?
Versi self-hosted n8n gratis dan open source. n8n Cloud sebelumnya punya paket gratis, tetapi per April 2026 sekarang hanya menawarkan trial 14 hari β setelah itu, paket mulai dari $24/bulan untuk 2.500 eksekusi. Scraping situs yang terlindungi juga mungkin memerlukan layanan proxy berbayar ($5β15/GB untuk residential proxy) atau scraping API ($49β200+/bulan tergantung volume).
Bagaimana perbandingan web scraping n8n dengan Thunderbit?
n8n lebih unggul untuk automasi multi-langkah di mana scraping hanya satu bagian dari workflow yang lebih besar (misalnya: scrape β enrich β filter β push ke CRM β beri alert di Slack). Thunderbit lebih cocok untuk ekstraksi data cepat tanpa kode, dengan deteksi field berbasis AI, pagination otomatis, dan tanpa maintenance saat situs berubah. Banyak tim memakai keduanya bersama-sama β Thunderbit untuk ekstraksi, n8n untuk orkestrasi.
Bisakah saya scraping data dari situs yang perlu login menggunakan n8n?
Bisa, tetapi Anda harus mengonfigurasi cookie atau session token di node HTTP Request, dan ini cukup sulit dipelihara. Mode Browser Scraping Thunderbit secara otomatis mewarisi sesi Chrome yang sudah login β kalau Anda login, Thunderbit bisa mengambil apa yang Anda lihat.
Apa yang harus saya lakukan kalau scraper n8n saya tiba-tiba berhenti mengembalikan data?
Pertama, cek tab n8n Executions untuk melihat error. Penyebab paling umum adalah perubahan layout situs yang mematahkan CSS selector Anda β workflow terlihat "sukses" tetapi mengembalikan field kosong. Verifikasi selector Anda di alat Inspect Chrome, perbarui di workflow (atau di sheet selector eksternal), lalu uji ulang. Kalau Anda terkena blok anti-bot, ikuti decision tree troubleshooting di panduan ini. Untuk reliabilitas jangka panjang, pertimbangkan scraper berbasis AI seperti Thunderbit yang otomatis beradaptasi terhadap perubahan layout.
Pelajari Lebih Lanjut