Menelusuri asal-usul Scrapling: dikembangkan Karim Shoair (D4Vinci) sejak sekitar 2024, tumbuh dari v0.1 ke 0.4.x dengan jutaan download. Memahami frustrasi yang melahirkan library ini dan masalah yang diselesaikannya — parser super cepat, selektor self-healing, dan fetcher stealth.

Di episode 0 kalian sudah menyiapkan environment: Python 3.10+, Scrapling lengkap dengan ekstra opsional, Chromium untuk browser fetcher, dan devtools untuk inspeksi selector. Sekarang sebelum menulis kode apa pun, kita jawab dulu pertanyaan mendasar: kenapa Scrapling lahir, dan kenapa kita butuh library ini?
Episode ini membahas sejarah dan latar belakang Scrapling. Kalian akan tahu siapa di balik library ini, seberapa cepat pertumbuhannya, dan masalah nyata apa yang ia selesaikan — termasuk angka yang sering disebut, seperti parser yang 400-600 kali lebih cepat dari BeautifulSoup.
Scrapling dikembangkan oleh Karim Shoair, yang lebih dikenal dengan nama GitHub D4Vinci. Latar belakangnya bukan sekadar web developer — dia adalah peneliti keamanan dan developer open source yang aktif. Nama ini penting diingat karena arah pengembangan Scrapling sangat dipengaruhi pengalaman di dunia keamanan, terutama soal menembus proteksi anti-bot.
D4Vinci juga dikenal lewat proyek keamanan lain seperti Creosote, PersistenceSniper, dan berbagai tool pentesting di GitHub. Pola pikirnya konsisten: membangun tool yang cepat, low-level, dan sulit dideteksi. Scrapling adalah manifestasi dari pola pikir itu di ranah web scraping.
Scrapling mulai dikembangkan sekitar tahun 2024. Kariernya naik drastis dalam waktu singkat. Awalnya hanya v0.1 yang sederhana, lalu berkembang cepat hingga versi 0.4.x pada 2026. Perjalanannya bisa diringkas begini:
StealthyFetcher, browser fetcher, dan dukungan anti-bot.Skala adopsinya juga mengejutkan: lebih dari 3,9 juta download di PyPI dan sekitar 70 ribu GitHub stars. Untuk library berusia dua tahunan, angka itu menunjukkan kebutuhan pasar yang nyata — banyak engineer yang kelelahan memelihara scraper konvensional.
Info
Angka download dan stars bergerak terus. Biasakan mengecek langsung di halaman PyPI dan GitHub, karena metrik pertumbuhan ini biasanya dibahas di halaman release dan changelog resmi.
Setiap library besar lahir dari rasa sakit. Bagi D4Vinci, rasa sakitnya adalah memelihara spider yang rawan rusak. Polanya selalu sama dan familiar bagi siapa pun yang pernah memakai BeautifulSoup, Scrapy, atau kombinasi requests + lxml:
Ditambah lagi masalah kedua: proteksi anti-bot. Semakin banyak website memakai Cloudflare, Turnstile, atau challenge berbasis JavaScript. Request polos dengan requests langsung ditolak dengan status 403. Browser automation seperti Selenium atau Playwright bisa menembus, tapi lambat, boros memori, dan tetap terdeteksi kalau fingerprint-nya mencurigakan.
Scrapling lahir untuk menjawab dua frustrasi itu sekaligus.
Frustrasi tadi diterjemahkan menjadi empat masalah teknis yang diselesaikan Scrapling. Pertama, kecepatan parsing. Adaptor yang berbasis lxml diklaim 400-600 kali lebih cepat dari BeautifulSoup untuk operasi parsing dan seleksi. Perbedaan ini terasa nyata saat kalian memproses ribuan halaman.
Kedua, selektor adaptif yang self-healing. Melalui fitur auto_match, selektor bisa menyesuaikan diri ketika struktur DOM berubah. Website mengubah class? Selektor tetap menemukan elemennya tanpa campur tangan manual. Ini solusi langsung untuk masalah "spider rusak setiap website di-update".
Ketiga, fetcher stealth. Scrapling menyamarkan TLS fingerprint lewat impersonation sehingga request HTTP terlihat seperti browser asli, plus StealthyFetcher untuk situs yang menuntut browser sungguhan. Kombinasi ini menembus banyak proteksi anti-bot yang biasanya membunuh scraper.
Keempat, satu library dari request tunggal hingga crawl skala penuh. Mulai dari Fetcher.get() sekali pakai, lalu AsyncFetcher untuk paralel, sampai spider framework dengan pause/resume dan proxy rotation — semuanya dalam satu dependency. Tidak ada lagi menaruh spaghetti berisi requests + lxml + Selenium dalam satu project.
Agar keunggulannya konkret, bandingkan dua potongan kode berikut. Yang pertama pendekatan klasik:
import requests
from bs4 import BeautifulSoup
res = requests.get("https://example.com/artikel")
soup = BeautifulSoup(res.text, "html.parser")
judul = soup.select_one("h1.post-title").text.strip()Versi Scrapling jauh lebih ringkas:
from scrapling import Fetcher
page = Fetcher.get("https://example.com/artikel")
judul = page.css("h1.post-title").textPerhatikan: Fetcher.get langsung mengembalikan Adaptor — objek yang sudah siap di-seleksi. Tidak ada dua library terpisah, tidak ada konversi manual, dan hasil page.css sudah menjadi objek elemen yang bisa di-chain. Keunggulan-keunggulan ini akan dibedah teknis di episode 3 sampai 5.
Kalian butuh Scrapling ketika kondisi ini terjadi:
Kalau target kalian sederhana, statis, dan ramah bot, BeautifulSoup masih oke. Tapi begitu kombinasi di atas mulai terjadi, Scrapling menghemat waktu bertahun-tahun — mulai dari episode berikutnya.
Supaya posisi Scrapling makin jelas, ada baiknya kita sadari batas pendekatan klasik. BeautifulSoup adalah parser murni — ia membaca HTML yang sudah kalian berikan, tidak lebih. Konsekuensinya ada tiga:
Itu sebabnya project scraping besar biasanya menumpuk tiga library sekaligus — requests untuk HTTP, BeautifulSoup untuk parsing, dan Selenium untuk JavaScript. Tiga dependency, tiga API berbeda, tiga sumber bug. Scrapling meruntuhkan pemisahan itu dalam satu library, sehingga alur kerja yang sama bisa menangani ketiga kasus di atas.
Skala adopsi yang besar juga berarti ekosistem yang hidup. Dari segi sumber daya, kalian bisa mengandalkan:
Ekosistem ini penting karena web scraping selalu berubah — anti-bot terus berinovasi, dan library yang aktif dikembangkan adalah pilihan yang lebih aman untuk jangka panjang. Sebuah library dengan penerimaan sebesar Scrapling cenderung cepat merespons perubahan tersebut.
Sekarang kalian paham asal-usul Scrapling: lahir dari tangan D4Vinci karena frustrasi memelihara spider yang mudah rusak dan sulit menembus anti-bot. Dalam dua tahun ia tumbuh dari v0.1 menjadi 0.4.x dengan jutaan download, berkat empat nilai jual utama: parsing super cepat, selektor self-healing, fetcher stealth, dan kesatuan library dari kecil hingga skala penuh.
Inti yang harus dibawa pulang:
requests + lxml + Selenium.Di episode 2 kita naik level ke arsitektur: modul inti Scrapling — fetchers, parser Adaptor, spiders, CLI, hingga MCP server — dan alur kerja dari fetch sampai ekstraksi data. Sampai jumpa!