Web Scraping
Metode web scraping / parsing digunakan untuk mengambil data dari sebuah website dan
menggabungkannya dalam sebuah website baru. Web scraping menurut Turland, 2010 adalah proses
pengambilan sebuah dokumen dari internet, umumnya berupa halaman-halaman web dalam bahasa markup
seperti HTML atau XHTML dan menganalisis dokumen tersebut untuk diambil data tertentu dari halaman
tersebut untuk digunakan bagi kepentingan lain. Web scraping hanya fokus pada cara memperoleh data
melalui pengambilan dan ekstraksi data dengan ukuran data yang berbeda
Hal ini atau aplikasi yang menggunakan teknik web scraping tidaklah ilegal selagi tidak mencari
keuntungan dan penggunaan datanya hanya untuk penelitian.
Web Scraping adalah salah satu metode yang bisa kita gunakan dalam mengumpulkan data dari internet.
Scraping kita lakukan seandainya ingin melakukan ektraksi informasi dari sebuah situs web secara
langsung dengan menggunakan protokol http. Metode web scraping / parsing digunakan untuk mengambil
data dari sebuah website dan menggabungkannya dalam sebuah website baru. Hal ini atau aplikasi yang
menggunakan teknik web scraping tidaklah ilegal selagi tidak mencari keuntungan dan penggunaan datanya
hanya untuk penelitian.
Web Scraping bisa menjadi solusi dalam mendapatkan informasi dari sebuah situs web jika situs
tersebut tidak menyediakan API untuk pengambilan informasi.
Walaupun web scraping memiliki banyak sisi positif dan merupakan teknologi yang penting untuk
pengumpulan data, masih banyak pihak legal yang menentang teknik ini. Salah satu aplikasi web scraping
adalah FMiner yang berfungsi untuk mengambil data dari sebuah URL webite yang kemudian di tampilkan
dalam bentuk yang bisa dibaca oleh pengguna. Internet menyediakan data umum yang dapat diakses seperti
semua orang seperti ramalan cuaca, finansial dan lainnya dan fungsi dari web scraping itu sendiri adalah
mengumpulkan data yang tidak terbatas dari beberapa website ke sebuah website baik itu perbandingan
harga, biodata, ramalan cuaca, perubahan dalam sebuah website. Jadi, metode ini sangatlah berguna.
Secara umum, ada dua cara yang bisa Anda gunakan untuk melakukannya:
a. Manual, metode di mana Anda menyalin data dengan cara copy paste dari sebuah website
b. Otomatis, metode yang menggunakan koding, aplikasi, atau extension browser.
3.6 Teknik-Teknik Web Scraping
Web scraping kini dimudahkan dengan bantuan browser extension dan aplikasi. Namun, hasilnya masih
belum sebaik cara manual dan koding. Dalam artikel ini kami akan membahas enam teknik web scraping
yang umum dilakukan, yaitu:
a. Menyalin data secara manual
b. Menggunakan regular expression
c. Parsing HTML
d. Menganalisa DOM
e. Menggunakan XPath
f. Menggunakan Google Sheet
1. Menyalin Data secara Manual
Cara web scraping yang paling sederhana adalah menyalin data website secara manual. Karena
Anda harus mengambil dan menyimpan informasi yang diperlukan satu per satu, teknik ini
memakan waktu lama. Akan tetapi, metode ini paling efektif dari segi pencarian data. Tidak seperti
tool atau bot, Anda sudah tahu letak informasi yang ingin disalin dari suatu website. Dengan
demikian, hasil web scraping dengan cara ini sangat akurat. Teknik manual ini dianjurkan jika
jumlah website atau blog yang ingin Anda saring terbatas.
2. Menggunakan Regular Expression
Regular expression adalah baris kode yang digunakan dalam algoritma pencarian untuk
menemukan tipe data tertentu dari sebuah file. Dalam konteks web scraping, file yang dimaksud
adalah file-file penunjang sebuah website.
Keuntungan utama menggunakan regular expression untuk web scraping adalah konsistensi
syntaxnya di dalam berbagai bahasa pemrograman. Oleh karena itu, teknik ini sangat fleksibel.
Ditambah lagi, regular expression dapat digunakan untuk mencari data berdasarkan jenisnya,
seperti nama produk, harga, dan alamat email.
3. Parsing HTML
Pada dasarnya, parsing HTML adalah metode yang dilakukan dengan mengirimkan HTTP request
kepada server yang menyimpan data website yang datanya ingin Anda ekstrak.
Dengan teknik ini, Anda dapat melakukan web scraping tidak hanya pada halaman website yang
bersifat statis, tetapi juga dinamis. Selain itu, parsing HTML juga memungkinkan Anda untuk
menyalin data dalam jumlah yang besar dalam waktu singkat.
Sayangnya, parsing HTML dapat dicegah dengan proteksi website. Tak hanya itu, Anda bisa
diblokir dari suatu situs jika terlalu sering melakukan teknik ini.
4. Menganalisa DOM
DOM atau document object model adalah representasi struktur sebuah halaman website yang ditulis
dengan HTML. Ketika melakukan parsing HTML, DOM dari halaman yang ingin diekstrak
datanya akan dimuat terlebih dahulu. Untungnya, DOM juga membawa data yang ada pada file
HTML.
Oleh karena itu, analisa DOM bisa dijadikan alternatif untuk melakukan web scraping terhadap
halaman situs dinamis jika parsing HTML tidak membuahkan hasil. Untuk membantu proses ini,
Anda bisa mencari informasi yang diinginkan dengan regular expression (poin nomor 2).
5. Menggunakan XPath
XPath adalah bahasa query yang digunakan untuk memilih node dari struktur file XML dan HTML.
Implementasinya tidak jauh berbeda dengan analisa DOM. Anda menggunakannya untuk mencari
data dari struktur file penunjang halaman. Selain itu, XPath juga dapat digunakan untuk mencari
data pada elemen teks dalam file XML dan HTML. Dengan demikian, teknik web scraping ini bisa
Anda pilih ketika analisa DOM kurang efektif.
6. Menggunakan Google Sheet
Google Sheet adalah aplikasi web milik Google yang biasanya digunakan untuk membuat
spreadsheet. Akan tetapi, aplikasi ini ternyata juga bisa digunakan untuk melakukan web scraping
dengan mudah.
Di samping Google Sheet, Anda hanya memerlukan browser yang memiliki fitur inspect element.
Setelah itu, tinggal mengopi expression XPath dari elemen halaman website yang datanya ingin
Anda salin ke dalam command IMPORTXML yang ada di Google Sheet.
Tahapan web Scraping adalah sebagai berikut :
1. Membuat template scraping Proses ini melakukan observasi terhadap dokumen HTML website
yang akan diambil informasinya atau dikenal scraping. Caranya adalah dengan melakukan tag
HTML untuk mengapit informasi yang akan diambil.
2. Eksplorasi navigasi situs Proses ini menelusuri navigasi pada website yang akan diambil
informasinya untuk ditirukan pada aplikasi web scraper yang digunakan.
3. Mengotomatis navigasi dan mengekstrak informasi. Berdasarkan informasi yang didapat pada
langkah 1 dan 2, aplikasi web scraper untuk mengotomatisasi pengambilan informasi dari website
yang ditentukan.
4. Ekstraksi data dan menyimpan histori Informasi yang diperoleh akan disimpan dalam tabel atau
data yang lebih terstruktur.
www Membuat Eksplorasi
template navigasi
web situs
scraping
Ekstrak Otomatisasi
Data &
Pakckag navigasi &
e ekstraksi
Gambar 3.2 Ilustrasi kerja web scraping(Sumber: Rosario,2017)
Kendala dalam Melakukan Web Scraping
Meskipun web scraping merupakan teknik yang sangat membantu dalam ekstraksi data situs, ada
juga hal-hal yang menjadi halangan dalam implementasinya. Setidaknya, lima hal di bawah ini perlu Anda
ingat jika ingin melakukannya:
a. Tidak ada teknik web scraping yang 100% efektif
Metode web scraping, baik yang dibahas dalam artikel ini maupun yang menggunakan aplikasi,
tidak ada yang sempurna.
b. Data yang didapat tidak selalu rapi
Apapun metode yang Anda pakai pasti akan menyisakan teks-teks yang tidak diinginkan, seperti
tag HTML. Oleh karenanya, Anda masih harus merapikan data hasil web scraping.
c. Pemahaman tentang struktur halaman website tetap menjadi kewajiban
Tidak semua teknik web scraping memerlukan koding. Akan tetapi, Anda tetap harus memahami
HTML dan CSS. Ini dibutuhkan ketika Anda mencari letak data yang ingin diekstrak menggunakan
fitur inspect element pada browser.
d. Akses Anda ke suatu website dapat diblokir
Terlalu sering melakukan web scraping terhadap suatu website dapat menyebabkan IP Anda
diblokir oleh adminnya.
e. Tidak semua website mudah diekstrak datanya
Web developer akan selalu memperbarui websitenya, baik dari segi kode maupun struktur
halamannya, untuk alasan keamanan. Maka dari itu, jangan heran ketika Anda menemui situs yang
datanya susah diekstrak.
3.7 Beautiful Soup
Beautiful Soup merupakan sebuah library Python yang memungkinkan kita untuk melakukan scraping
dengan mudah dan cepat, keunggulan Beatutiful Soup adalah :
1. Beautiful Soup hadir dengan metode-metode yang sederhana sehingga kita dengan mudah
melakukan proses navigasi, pencarian dan juga modifikasi struktur data situs yang kita scraping.
2. Beautiful Soup secara otomatis mampu menkonversi dokumen ke dalam format UTF-8
3. Bekerja dengan baik dengan library Python lxml dan html5lib untuk melakukan parsing dokumen.
Contoh Program 1:
Misal kita mempunyai kode HTML yang disimpan dalam sebuah string di dalam file python:
Kemudian gunakan library BeautifulSoup untuk mengekstrak kode HTML
Fungsi find()
Untuk mengambil potongan kode HTML atau konten dari HTML gunakan fungsi find()
Fungsi find() akan mengambil data berdasarkan tag HTML. Jika terdapat tag HTML yang
sama lebih dari satu maka yang diambil adalah tag yang paling atas di halaman HTML
Jika ingin mengambil nilai dari tag <p> dengan nama class tertentu maka tambahkan parameter
class_ di dalam fungi find()
Misal kita tambahkan parameter class_ judul dan paragraf untuk mengambil nilai dari tag <p>
dengan kedua class tersebut
untuk mengambil hanya konten dari HTML (tanpa kode HTMLnya) tambahkan sintaks text diakhir
statement
Fungsi find_all()
Fungsi find() hanya dapat mengekstrak satu ouput sedangkan biasanya banyak tag HTML yang
sama yang ingin diambil semuanya.
Untuk mengambil konten HTML dengan tag yang sama gunakan fungsi find_all()
Contoh program 2: Scrapping halaman web bola.kompas.com
Hasil dari scrapping :