Scraping Teks — Panduan & Contoh

Scraping Teks — Panduan & Contoh (jagobangunrumah.com)

Scraping Teks — Contoh: jagobangunrumah.com

Halaman target berisi materi webinar & iklan acara (judul, daftar materi, pembicara, harga promo). Ringkasan isi halaman ini diambil sebagai contoh target scraping untuk teks publik (judul, bullet list, jadwal, harga). :contentReference[oaicite:0]{index=0}

Topik Utama

  • Identifikasi konten yang di-scrape (judul, deskripsi, daftar materi, pembicara, harga).
  • Persiapan teknis (cek robots.txt, User-Agent, rate limit).
  • Pengambilan data (requests → parsing HTML → ekstraksi teks).
  • Penyimpanan & format (CSV / JSON / database).
  • Etika & legal (hak cipta, atribusi, terms of service).

Subtopik / Rincian Langkah

1. Analisis Halaman

  • Tentukan URL target dan elemen penting: judul halaman, area konten (artikel), bullet list materi, info pembicara, tombol pendaftaran. (Contoh: halaman landing webinar mengandung heading & list seperti pada target). :contentReference[oaicite:1]{index=1}
  • Gunakan developer tools (Inspect Element) untuk menemukan selector CSS (mis. <h1>, <article>, <ul>).

2. Cek Kebijakan & Robots

  • Periksa /robots.txt sebelum scraping. Jika akses diblokir pada path tertentu, jangan scrape. (Etika & hukum).
  • Jangan mengambil konten berbayar/paywalled atau mencoba melanggar proteksi teknis.

3. Teknik Scraping (Ringkas)

Contoh sederhana berikut aman untuk teks publik — gunakan jeda (delay) dan header User-Agent. Jangan gunakan untuk bypass proteksi.

# Contoh: requests + BeautifulSoup (Python)
import time
import requests
from bs4 import BeautifulSoup
from urllib.robotparser import RobotFileParser

BASE = "https://jagobangunrumah.com/"

# 1) cek robots.txt
rp = RobotFileParser()
rp.set_url(BASE + "robots.txt")
try:
    rp.read()
    can_fetch = rp.can_fetch("*", BASE)
except Exception:
    can_fetch = True  # bila robots tidak tersedia, berhati-hati

if not can_fetch:
    raise SystemExit("Dilarang oleh robots.txt — hentikan scraping.")

# 2) ambil halaman utama dengan header
headers = {"User-Agent": "MyScraperBot/1.0 (+https://example.com/contact)"} 
r = requests.get(BASE, headers=headers, timeout=15)
r.raise_for_status()

soup = BeautifulSoup(r.text, "html.parser")

# 3) contoh ekstraksi: judul & daftar bullet
judul = soup.find(["h1","h2"])
if judul:
    print("Judul:", judul.get_text(strip=True))

# contoh mendapatkan semua list item pada konten
for ul in soup.find_all("ul"):
    for li in ul.find_all("li"):
        print("-", li.get_text(strip=True))

# 4) rate-limit (jangan ban)
time.sleep(2)  # jeda antar-request

Catatan teknis singkat

  • Gunakan `requests` + `BeautifulSoup` untuk HTML statis. Untuk situs yang memuat konten lewat JavaScript, pertimbangkan library headless seperti Playwright atau puppeteer (tapi patuhi TOS).
  • Sertakan header `User-Agent` yang jelas dan link kontak jika bot Anda akan mengakses situs secara rutin.
  • Jangan mengirim permintaan paralel berlebihan — gunakan jeda 1–5 detik atau aturan yang wajar.

Etika & Legal (Ringkas)

  • Periksa Terms of Service situs. Jika melarang scraping, jangan lakukan.
  • Jangan mengumpulkan data pribadi pengguna tanpa izin.
  • Berikan atribusi (sumber) bila Anda mempublikasikan hasil ekstraksi.

Penyimpanan & Output

  • Simpan hasil pada format yang mudah dipakai: CSV untuk tabel sederhana, JSON untuk struktur nested, atau langsung ke database.
  • Tambahkan timestamp & source URL di setiap record untuk audit.
Contoh penggunaan praktis: jika tujuan Anda hanya mengambil teks materi webinar (judul, daftar materi, harga promosi), cukup target elemen <h1>, <ul> dalam artikel—jangan ambil gambar atau asset besar.

Alternatif (lebih baik daripada scraping)

  • Cek apakah situs menyediakan RSS atau API untuk mengambil konten secara resmi.
  • Jika data untuk tujuan komersial, minta ijin pemilik situs — seringkali mereka bersedia berikan akses data.

Sumber contoh konten & ringkasan halaman: jagobangunrumah.com — konten landing webinar & daftar materi. :contentReference[oaicite:2]{index=2}

Jika Anda mau, saya bisa:

  1. Menyesuaikan contoh kode untuk mengekstrak selector spesifik dari halaman (saya bisa cek struktur & beri CSS selector yang tepat), atau
  2. Membuat skrip yang menyimpan hasil ke CSV/JSON, atau
  3. Membuat checklist legal/teknis yang lebih rinci untuk scraping.

Kembali ke Atas

Comments

Popular posts from this blog

1 Seo Postingan Tabel

Terkunci Login, Batas Salah Password, & Reset Manual