FOR
PENT!NG
SUPER web scraping saja
beloem tjoekoep!
• Mustahil tanpa paham HTML
karena ini dasar membangun web
• Python itu powerfull, belajarnya
enggak mudah. Pengamanan web
juga makin ketat. Yakin cuma
untuk scraping kecil-kecilan?
Jangan tanggung, bestie!
DCJI 2022
DON’T
QUIT!!
Mulailah belajar otodidak dari
w3schools.com
HTML CSS Python
DCJI 2022
KENAPA PYTHON ?
• Python merupakan bahasa Apa bedanya dengan R?
pemrograman multifungsi
(web apps, data science, • R difokuskan untuk olah
mesin otomatisasi, hingga data/statistik
bikin game). • Integrasi terbatas dengan
• Bisa integrasi dengan aplikasi/platform lain
aplikasi/platform lain • Butuh memori besar
• Banyak forum & library
DCJI 2022
Demo dikit boleh, yah
JEO Kompas.com
From this… …to this!
Animasi menggunakan Tableau
Scraping
DCJI 2022
Server berisi:
• html, css, js, php, asp, dll…
• jpg, gif, png, mp4, dll… Sisi server
• csv, json, pdf, database, dll…
logo.gif
3
Server mencari file header.png
& merespons
dengan HTTP
gambar2.jpg
response
gambar1.jpg
index.html
Server kirim
default file
Oops, no file HTML
2 Jika file tak ada di 5
Browser server, akan muncul Layout halaman
kirim HTTP pesan eror ditampilkan di browser
1 request
Ketik URL
di browser
4
Browser membaca
kode HTML. Jika ada
Sisi klien gambar atau file
tambahan, browser
minta lagi ke server
DCJI 2022
Target
• Buka https://maindata.web.id/webscraping
– Cermati dulu strukturnya
– Telusuri satu per satu halamannya
– Tentukan bagian mana yang mau ditarik
• Kembali ke halaman utama, klik kanan browser, pilih
Inspect
• Bandingkan isinya dengan View Source
DCJI 2022
Bagian HL Kenali cangkang atau kontainer dari
berisi 1 artikel masing-masing komponen yang
menjadi target scraping
Bagian HL 2 Pelajari isi dari masing-masing
berisi 2 artikel kontainer tadi dan tentukan bagian
mana yang perlu diambil datanya
Bagian indeks
berisi 5 artikel
DCJI 2022
Mari mulai Python
Instalasi Python
Ada beberapa alternatif instalasi:
1. Unduh dan instal dari www.python.org
2. Cari dan instal Python basic dari Microsoft Store
3. Unduh dan instal aplikasi Anaconda. Jalankan Python
melalui apps Jupyter
Kebutuhan library
1. Requests * HTTP library
2. JSON * konversi & kelola data format json
3. BeautifulSoup (bs4) web scraping
4. Pandas olah data tabel, ekspor data ke Excel/csv
* biasanya sudah tersedia dalam paket Python
Jika sudah instal aplikasi Python:
1. Buka jendela Command Prompt di PC
2. Ketik python lalu Enter
Panduan selanjutnya
menggunakan
Jika belum instal Python: online console ini
1. Jalankan web browser dan bukalah
research.google.com
2. Muncul boks, klik New notebook di bagian bawah
3. Ubah nama file di kiri atas (Untitled1.ipynb)
4. Klik baris kosong di bawah + Code, mari mulai
menuliskan perintah berikutnya
Basic Python
Menambahkan library
import requests
from bs4 import BeautifulSoup
import pandas
DCJI 2022
Basic Python
Sintax
>>>print("Halo, Ferguso") Ini baris perintah
Halo, Ferguso Ini hasil eksekusi perintah
Indentation
>>>if 5 > 2: >>>if 5 > 2:
... print("Benar, 5 > 2") ...print("Benar, 5 > 2")
Benar, 5 > 2 IndentationError: expected
an indented block
DCJI 2022
Basic Python
Variabel
>>>x = 5 # x bertipe integer (numerik)
>>>y = "Namaku Pitung" # y bertipe string (teks)
>>>nama, usia, kelas = "Pitung", 12, "8C"
DCJI 2022
Basic Python
Tipe data
x = "Apa kabar?"
print(x) # bagaimana hasilnya?
Apa kabar?
DCJI 2022
Basic Python
Komparasi Jenis Operator:
Komparasi
== sama dengan
x = 1
>= lebih besar sama dengan
if x == 1:
print("x = 1") > lebih besar dari
elif x == 2: != tidak sama dengan
print("x = 2")
else: Logika
print("entahlah") and dan
# bagaimana hasilnya? or atau
x = 1 not kebalikan
dan lain-lain
DCJI 2022
Basic Python
Pengulangan (looping)
for x in range(5):
print(x) #bagaimana hasilnya?
0 Urutan indeks SELALU diawali
dengan 0 (nol), bukan 1
1
2
3
4
DCJI 2022
ke sungai cari kepiting,
mari mulai scraping
Praktik Scraping
DCJI 2022