Pengembangan Artificial Intelligence [AI] berkembang pesat saat ini. AI membuat mesin bisa berfikikir dan bertindak seperti manusia. Dalam AI dikenal istilah Machine Learning [ML] yang merupakan subset dari AI
Konsep ML belajar dari data melalui proses learning dalam data analytics. Sistem belajar layaknya anak kecil yang tidak mengerti apapun dan diajarkan oleh orang tuanya. Dalam ML bahan ajar yang diajarkan ke sistem adalah data
Contents
Ilmu Data
Saat ini semua orang membicarakan tentang AI dan ML. Di beberapa kampus juga bahkan membuka prodi atau peminatan yang berhubungan AI, ML dan Data. Salah satunya adalah tempat saya mengajar yaitu Telkom University membuka prodi ilmu data [data science] serta membuka laboratorium dan pemintan tentang data dan AI
Dalam melakukan data analytics dibutuhkan sumber data terlebih dahulu. Saat ini sumber data sangat melimpah dan banyak ditemukan dimana saja baik berbentuk text maupun format lainnya. Salah satu sumber data yang melimpah adalah dari internet dan media sosial
Kadang kali data ini dapat dengan mudah kita ambil. Ada yang sudah menyediakan API untuk pengambilannya tetapi banyak lainnya yang harus kita usahakan sendiri. Salah satu cara untuk mendapatkan data teks di internet adalah dengan teknik web scraping
Web Scraping adalah cara untuk mengambil data dari halaman web ke dalam bentuk yang diinginkan seperti format csv atau json
Tentu saja ada etika dalam melakukan scraping data di internet. Terkadang beberapa website menyediakan Term of Service [TOS] agar konten websitenya dilarang untuk diambil
HTML, CSS dan Javascript
Sebelum melakukan web scraping dibutuhkan pemahaman bahasa HTML karena sebagaian besar website membutuhkan HTML sebagai bahasa markup-nya
Pengembangan website umumnya terdiri dari 3 elemen berikut:
- HTML
- CSS
- Javascript
HTML adalah komponen utama dalam membangun web dan dibagun dari tag-tag untuk menyusun heading, paragraf, table dan sebagainya
CSS adalah bahasa untuk membuat web terlihat lebih indah seperti warna, ukuran, posisi dan sebagainya
Javascript adalah bahasa digunakan untuk melengkapi web agar terlihat lebih interaktif
Sebelum melanjutkan materi web scraping silahkan pahami dulu HTML dasar di artikel Tutorial HTML dasar untuk pemula
Web Scraping
Oke kita lanjut ke implementasi web scraping
Untuk mengambil data di halaman website kita dapat memanfaatkan class / id atribut di HTML. untuk class dan id atribut sudah dijelaskan dimateri Tutorial HTML dasar untuk pemula.
Case web scraping adalah mengambil data quotes dari halaman webiste //quotes.toscrape.com
website ini memang dikhususkan untuk belajar melakukan scraping jadi kita tidak perlu takut melakukan pelanggaran saat ambil konten websitenya
Ngodingdata '''Kemudian gunakan library BeautifulSoup untuk mengekstrak kode HTML
from bs4 import BeautifulSoup html_soup = BeautifulSoup[dokumen, 'html.parser'] print[html_soup]
Hasilnya adalah
Ngodingdata '''0 untuk mengambil nilai dari tagfrom bs4 import BeautifulSoup
7 dengan kedua class tersebutjudul = html_soup.find['p', class_='judul'] paragraf = html_soup.find['p', class_='paragraf'] print[judul] print[paragraf]Ngodingdata '''2 diakhir statement
judul_saja = html_soup.find['p', class_='judul'].text print[judul_saja]Ngodingdata '''4
Fungsi
dokumen = ''' Tutorial BeautifulSoup4 dapat mengambil semJudul Dokumen
Ini adalah contoh paragraf
Ngodingdata '''
all_paragraf = html_soup.find_all['p'] print[all_paragraf]Ngodingdata '''4 digunakan untuk mengambil data yang berbentuk table atau list
Sebenarnya masih banyak fungsi lain dari library BeautifulSoup tetapi fungsi
from bs4 import BeautifulSoup
5 dan dokumen = ''' Tutorial BeautifulSoup4 paling banyak digunakan untuk ekstrak data dari website.Judul Dokumen
Ini adalah contoh paragraf
Ngodingdata '''
Berikut kode lengkap dari case BeautifulSoup diatas
from bs4 import BeautifulSoup dokumen = ''' Tutorial BeautifulSoupJudul Dokumen
Ini adalah contoh paragraf
Ngodingdata ''' html_soup = BeautifulSoup[dokumen, 'html.parser'] judul = html_soup.find['p', class_='judul'] paragraf = html_soup.find['p', class_='paragraf'] judul_saja = html_soup.find['p', class_='judul'].text print[judul] print[paragraf] print[judul_saja] all_paragraf = html_soup.find_all['p'] print[all_paragraf]
Tutorial selanjutnya adalah mengimplementasikan BeautifulSoup di website //quotes.toscrape.com/ yang telah kita bahas struktur webnya diatas