Post

πŸ“Š 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

  1. 🎯 Memilih Website Target – Tentukan website yang ingin diambil datanya.
  2. πŸ” Memahami Struktur HTML – Gunakan Inspect Element di browser untuk melihat struktur HTML.
  3. πŸ› οΈ Menggunakan Pustaka Scraping – Biasanya menggunakan Python dengan pustaka seperti:
    • πŸ—οΈ BeautifulSoup untuk parsing HTML
    • 🌐 Requests untuk mengunduh halaman website
    • πŸ•·οΈ Scrapy untuk scraping dalam skala besar
  4. πŸ’Ύ Menyimpan Data yang Didapat – Data yang diambil biasanya disimpan dalam format seperti CSV, JSON, atau database.
  5. πŸ›‘οΈ 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 requests untuk mengambil halaman HTML.
  • πŸ›‘οΈ Menambahkan User-Agent agar tidak diblokir oleh situs.

🧩 Parsing HTML dengan BeautifulSoup

  • πŸ—οΈ Menggunakan BeautifulSoup untuk 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

KendalaSolusi
🌐 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.