π Dasar-Dasar Data Scraping dengan Python
π Dasar-Dasar Data Scraping dengan Python
Link video : My Video
π§ Apa Itu Data Scraping?
Data Scraping adalah proses otomatis untuk mengambil data dari sebuah website. Teknik ini sangat berguna ketika data yang kita butuhkan tidak tersedia dalam format yang bisa langsung diunduh, seperti CSV atau API.
π Alur Dasar Data Scraping
- π― Memilih Website Target β Tentukan website yang ingin diambil datanya.
- π Memahami Struktur HTML β Gunakan Inspect Element di browser untuk melihat struktur HTML.
- π οΈ Menggunakan Pustaka Scraping β Biasanya menggunakan Python dengan pustaka seperti:
- ποΈ
BeautifulSoupuntuk parsing HTML - π
Requestsuntuk mengunduh halaman website - π·οΈ
Scrapyuntuk scraping dalam skala besar
- ποΈ
- πΎ Menyimpan Data yang Didapat β Data yang diambil biasanya disimpan dalam format seperti CSV, JSON, atau database.
- π‘οΈ Mengatasi Kendala Scraping β Beberapa website melarang scraping, jadi butuh strategi seperti rotasi User-Agent, penggunaan proxy, atau Selenium untuk menangani JavaScript.
π Logbook Proses Scraping
1οΈβ£ Deskripsi Pekerjaan
π Melakukan web scraping untuk mengambil daftar hari Ramadhan 2025 dari situs Detik.
2οΈβ£ Langkah-langkah yang Dilakukan
π Menentukan Sumber Data
- π URL sumber data: Detik
- π·οΈ Elemen yang akan di-scrape: Daftar hari Ramadhan (ditemukan dalam tag
<li>).
π© Melakukan Request ke Halaman Web
- π‘ Menggunakan
requestsuntuk mengambil halaman HTML. - π‘οΈ Menambahkan User-Agent agar tidak diblokir oleh situs.
π§© Parsing HTML dengan BeautifulSoup
- ποΈ Menggunakan
BeautifulSoupuntuk memproses HTML. - π Mencari semua elemen
<li>dalam halaman.
π§Ή Filter Data
- β¨ Membersihkan teks dari
<li>yang ditemukan. - π Memfilter hanya teks yang mengandung kata βRamadhanβ agar hanya data yang relevan yang diambil.
π Menampilkan Hasil
- π Mencetak daftar hari Ramadhan yang telah diproses.
3οΈβ£ Kode yang Digunakan
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import requests
from bs4 import BeautifulSoup
# Step 1: Request halaman web
url = "https://www.detik.com/jateng/berita/d-7793120/bulan-ramadhan-2025-berapa-hijriah-cek-kalender-dan-tanggalan-islam-tahun-ini"
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)
# Step 2: Parsing HTML
soup = BeautifulSoup(response.text, "html.parser")
# Step 3: Ambil data yang diinginkan
dates = soup.find_all("li") # Menyesuaikan dengan struktur HTML
# Step 4: Filter dan cetak hasil
for date in dates:
if "Ramadhan" in date.text:
print(date.text.strip())
π‘ Kode ini akan mengambil semua elemen <li> dari halaman web dan hanya menampilkan yang mengandung kata βRamadhanβ.
4οΈβ£ Hasil yang Diperoleh
β
Berhasil mengambil daftar hari Ramadhan dari halaman web.
β
Hanya data yang relevan yang diambil dan ditampilkan.
β
Hasil sesuai dengan ekspektasi.
β οΈ Kendala dan Solusi
| Kendala | Solusi |
|---|---|
| π Website menggunakan JavaScript | π₯οΈ Gunakan Selenium untuk mengeksekusi JavaScript sebelum scraping. |
| π« Pemblokiran oleh Website | π Gunakan User-Agent yang berbeda atau rotasi proxy. |
| π Data Tidak Terstruktur | π οΈ Gunakan regex atau metode parsing tambahan untuk membersihkan data. |
π Rencana Selanjutnya
- β Mengembangkan kode agar bisa menyimpan hasil scraping dalam file CSV.
- β Menggunakan Selenium jika data ternyata dimuat secara dinamis.
- β Mengotomatiskan proses scraping dan logging.
π Catatan: Logbook ini dapat diperbarui setiap kali ada perkembangan dalam tugas scraping. π
This post is licensed under CC BY 4.0 by the author.
