Web scraping Python adalah cara paling populer untuk mengambil data dari website secara otomatis tanpa perlu copy-paste manual. Kalau kamu pernah ingin mengumpulkan harga produk, artikel berita, atau data riset pasar dalam jumlah besar, di sinilah python web scraping berperan.
Anggap saja web scraping seperti “robot pencatat” yang membuka halaman website, membaca isinya, lalu menyimpan informasi penting sesuai kebutuhan kamu. Bedanya, semua dilakukan otomatis dan bisa dalam skala ribuan halaman.
Artikel ini akan membantu kamu memahami apa itu web scraping Python dan cara kerjanya dari awal sampai akhir. Kalau kamu masih pemula, tenang. Penjelasannya dibuat runtut dan gampang untuk dipahami.
Daftar Isi Artikel
ToggleApa Itu Web Scraping?
Web scraping adalah proses mengumpulkan data dari halaman web menggunakan kode program yang meniru perilaku pengguna internet. Tujuannya adalah mengekstrak informasi penting seperti teks, gambar, atau harga produk dari situs tertentu.
Teknik ini sangat populer di kalangan data analyst, peneliti, dan digital marketer karena dapat membantu mengumpulkan data dalam jumlah besar secara cepat dan konsisten.
Fungsi Web Scraping

Berikut beberapa fungsi web scraping dalam pengolahan data:
- Mengumpulkan data untuk analisis pasar.
- Memantau harga kompetitor secara real-time.
- Mengotomatisasi proses pengambilan informasi.
- Mendukung riset produk baru.
Cara Kerja Web Scraping Python
Secara sederhana, alur web scraping Python bisa dipahami seperti ini:
Request → Ambil HTML → Parse → Ekstrak Data → Simpan
Mari kita pecah satu per satu.
Langkah-Langkah Melakukan Web Scraping dengan Python
Panduan ini akan membantu Anda menyiapkan lingkungan, memilih library yang tepat, dan menjalankan proses scraping secara sistematis.
1. Menentukan Website dan Data Target
Tentukan situs yang ingin diambil datanya serta elemen spesifik yang dibutuhkan, seperti judul, harga, atau deskripsi.
2. Mengirim Permintaan ke Website
Gunakan library Requests untuk mengakses halaman target dan mengambil HTML-nya sebagai sumber data. Jika status code 200, berarti halaman berhasil diakses.
import requests
url = “https://example.com”
response = requests.get(url)
print(response.status_code)
3. Mengambil dan Memproses HTML dengan BeautifulSoup
BeautifulSoup akan membantu mengekstrak bagian tertentu dari HTML, misalnya tag <div> atau <span> yang berisi informasi yang diinginkan.
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, “html.parser”)
quotes = soup.find_all(“div”, class_=”quote”)
for quote in quotes:
text = quote.find(“span”, class_=”text”).text
author = quote.find(“small”, class_=”author”).text
print(“Quote:”, text)
print(“Author:”, author)
print(“-” * 40)
4. Menyimpan Data ke File CSV atau Database
Data yang sudah terkumpul kemudian disimpan dalam format yang mudah dibaca, seperti CSV, atau langsung dimasukkan ke database untuk analisis lebih lanjut.
Tools dan Library Python yang Umum Digunakan

Untuk memulai web scraping dengan Python, ada sejumlah tools dan library yang sering digunakan. Berikut diantaranya.
1. BeautifulSoup
Library ini populer untuk parsing HTML dan XML. BeautifulSoup memudahkan navigasi dokumen web, pencarian elemen tertentu, serta ekstraksi data berbasis tag dan atribut.
Cocok untuk proyek skala kecil hingga menengah, riset cepat, atau ketika struktur halaman relatif sederhana.
2. Scrapy
Scrapy merupakan framework web scraping yang tangguh dan scalable. Mendukung crawl otomatis, pengaturan spider, manajemen request, dan pipeline data.
Ideal untuk scraping skala besar atau pengumpulan data dari banyak halaman secara terstruktur dan berkelanjutan.
3. Requests
Library dasar untuk mengirim HTTP request ke server web. Requests memungkinkan pengambilan halaman HTML, API, atau file dari internet.
Sering dipadukan dengan BeautifulSoup untuk parsing konten yang diperoleh agar bisa diolah lebih lanjut.
4. Selenium
Selenium berguna untuk mengekstrak data dari situs dinamis yang menggunakan JavaScript. Library ini dapat mengontrol browser secara langsung, mengeksekusi klik, scroll, atau input form, sehingga memungkinkan scraping yang meniru interaksi pengguna nyata.
5. Pandas
Setelah data berhasil di-scrape, Pandas digunakan untuk membersihkan, mengorganisir, dan menganalisis data.
Library ini mendukung penyimpanan hasil dalam berbagai format, seperti CSV, Excel, atau database, sekaligus memudahkan transformasi data agar siap untuk analisis lebih lanjut atau visualisasi.
Contoh Web Scraping Python Sederhana
Sekarang kita masuk ke bagian praktik. Berikut contoh sederhana menggunakan Requests dan BeautifulSoup.
import requests
from bs4 import BeautifulSoup
url = “https://example.com”
response = requests.get(url)
soup = BeautifulSoup(response.text, “html.parser”)
titles = soup.find_all(“h2”)
for title in titles:
print(title.text)
Penjelasan:
- requests.get(url) → mengambil halaman
- BeautifulSoup() → membaca HTML
- find_all(“h2”) → mencari semua tag h2
- title.text → mengambil isi teksnya
Script ini akan mencetak semua judul <h2> dari halaman tersebut. Sederhana, tapi inilah dasar web scraping Python.
Contoh Menyimpan Data ke CSV
Setelah data didapat, biasanya kita ingin menyimpannya.
Contoh menyimpan ke CSV:
import csv
data = [“Judul 1”, “Judul 2”, “Judul 3”]
with open(“hasil.csv”, “w”, newline=””, encoding=”utf-8″) as file:
writer = csv.writer(file)
writer.writerow([“Judul”])
for item in data:
writer.writerow([item])
Sekarang data hasil scraping sudah tersimpan dan bisa dibuka di Excel.
Web Scraping untuk Website Dinamis (JavaScript)
Tidak semua website bisa di-scrape dengan Requests.
Beberapa website memuat data menggunakan JavaScript setelah halaman terbuka. Di sinilah Selenium digunakan.
Contoh sederhana:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get(“https://example.com”)
elements = driver.find_elements(By.TAG_NAME, “h2”)
for element in elements:
print(element.text)
driver.quit()
Etika dan Legalitas dalam Web Scraping
- Baca Terms of Service website.
- Periksa robots.txt.
- Jangan membebani server.
- Jangan mengambil data pribadi sensitif.
- Gunakan data untuk tujuan legal.
Scraping yang etis menjaga reputasi dan keamanan kamu sebagai developer.
Tips Agar Web Scraping Lebih Efisien
Beberapa tips praktis:
- Gunakan time.sleep() agar tidak spam server.
- Gunakan headers user-agent.
- Gunakan try-except untuk error handling.
- Gunakan proxy jika perlu.
- Simpan log untuk debugging.
Scraping bukan hanya soal mengambil data, tapi juga soal efisiensi dan stabilitas.
Kuasai Fundamental Bahasa Pemrograman di ITBOX
Menguasai web scraping Python bukan hanya soal mengekstrak data, tetapi juga memahami etika, logika, dan efisiensi dalam pengolahan informasi digital. Kemampuan ini menjadi bekal penting di era data-driven seperti sekarang.
Di ITBOX, Anda dapat mempelajari dasar pemrograman hingga praktik langsung scraping secara aman melalui dua kursus unggulan yaitu: Kursus Bahasa Pemrograman dan Kursus Python Online: Ethical Hacking.
Tunggu apalagi? Kembangkan potensi Anda di dunia data dan teknologi bersama ITBOX, dan jadikan kemampuan coding sebagai keunggulan profesional Anda.
FAQ Seputar Web Scraping Python
1. Apakah web scraping Python legal?
Tergantung. Jika website mengizinkan dan tidak melanggar Terms of Service, maka legal. Hindari mengambil data pribadi atau membebani server.
2. Apakah Python bahasa terbaik untuk web scraping?
Untuk pemula, iya. Python punya library lengkap dan sintaks yang mudah dipahami dibanding banyak bahasa lain.
3. Apa perbedaan Requests dan Selenium?
Requests mengambil HTML langsung dari server. Selenium menjalankan browser dan cocok untuk website dinamis berbasis JavaScript.
4. Apakah web scraping bisa digunakan untuk marketplace?
Secara teknis bisa, tetapi harus memperhatikan kebijakan platform dan aspek legalitasnya.
5. Apakah harus bisa coding dulu sebelum belajar scraping?
Iya, minimal memahami dasar Python seperti variabel, loop, dan function.


