PYTHON
WEB SCRAPING
Pertemuan 13 – 14
INTRODUCTION OF WEB
SCRAPING
Web Scraping adalah salah satu Teknik yang digunakan untuk mengambil data dari sebuah situs website.
Data yang diambil adalah data yang tidak terstruktur dalam format HTML yang kemudian diubah
menjadi data terstruktur dalam spreadsheet atau database sehingga dapat digunakan dalam berbagai
aplikasi.
INTRODUCTION OF WEB
SCRAPING
Ada banyak cara untuk melakukan web
scraping pada sebuah website, seperti :
Menggunakan online services (API)
Membuat code from scratch untuk web
scraping
Website – website besar seperti Google,
Twitter, Facebook, StackOverflow, dll sudah
memiliki API yang dapat membantu kita untuk
mengakses data mereka dalam format yang
terstruktur contoh nya json, csv, database, dll
HOW WEB
SCRAPERS
WORK ?
1. Identifikasi website atau url target scraping
2. Pilih proxy server
3. Kirim request ke website/url tersebut
4. Identifikasi lokasi data
5. Parsing data
6. Konversi data hasil scraping ke dalam format yang
diinginkan
7. Simpan data hasil scraping data ke dalam storage
SCRAPING VS CRAWLING
Web Scraping terdiri dari dua
bagian, yaitu crawler dan scraper
1. Crawler : Merupakan algoritma
kecerdasan buatan yang menjelajahi
website untuk mencari data tertentu
sesuai keperluan
2. Scraper : Merupakan alat tertentu
yang dibuat untuk ekstraksi data
dari situs web
SCRAPING VS CRAWLING
WHAT IS WEB SCRAPING
USED FOR
1. Data Analytics and Data Science
2. Marketing and Sales
3. Human Resources
4. Trading
5. Strategy
CHALLENGES OF WEB
SCRAPING
WHY PYTHON ??
Python memiliki banyak library yang
dapat digunakan untuk membuat
scraper ataupun crawler tools.
1. Scrapy merupakan framework
crawling website yang populer
digunakan. Biasanya digunakan untuk
mengesktrak data menggunakan API.
2. BeautifulSoup merupakan library
python yang digunakan untuk
ekstraksi data dari website.
PYTHON WEB SCRAPING
Install Request Module : “pip install requests”
Modul Request memiliki beberapa metode bawaan untuk membuat HTTP Request ke URI
tertentu menggunakan methode GET, POST, PUT, PATCH, atau HEAD.
HTTP REQUEST berarti mengambil data dari URI tertentu atau untuk mengaupload data ke
server
Sebagai contoh, kita akan gunakan metode get, dimana kita akan mengambil informasi dari
server berdasarkan URI yang dimasukkan.
PYTHON WEB SCRAPING
Response Object
Ketika membuat permintaan ke URI, maka URI akan mengembalikan respons.
Respons adalaah objek yang dapat digunakan untuk membantu menormalkan
Misalnya response.status_code berarti mengembalikan status kode dari header itu sendiri, dan
seseorang dapat memeriksa apakah permintaan itu berhasil diproses atau tidak.
Contoh :
BEAUTIFULSOUP
BeautifulSoup digunakan untuk mengekstrak informasi dari file HTML dan XML.
Instalasi :
pip install beautifulsoup4
BEAUTIFULSOUP
Setelah mendapatkan HTML halaman, mari
kita lihat cara mem-parsing kode HTML
mentah ini menjadi beberapa informasi
berguna. Pertama-tama, kita akan membuat
objek BeautifulSoup dengan menentukan
parser yang ingin kita gunakan.
EXTRACT DATA FROM HTML
CONTENT
Finding element by class
Untuk mendapatkan data pada element
tertentu, kita dapat menggunakan method
find. Pada kasus ini, kita akan mengekstrak
data pada website [Link] pada
kelas ‘entry-content.’
Ekstraksi content pada class tertentu dapat
dilakukan setelah kita mengetahui nama
class dengan inspect element website yang
akan kita ekstrak.
EXTRACT DATA FROM HTML
CONTENT
Finding element by id
Langkah pertama adalah identifikasi
struktur website yang akan kita scraping.
Kita akan mengesktrak element yang ada
pada <div> dengan id = “main”
Element yang diekstrak terletak pada class
leftBarList dengan tag ul
Konten yang akan diekstrak berada pada
tag “li”
EXTRACTING TEXT FROM
TAGS
Removing the tags from the content of the
page
Pada contoh ini, kita akan mengekstraksi
teks yang berada di class “entry-content”
Teks yang akan kita ekstrak merupakan
bagian dari tag <p>
EXTRACTING TEXT FROM
TAGS
Removing the tags from the content of the
leftbar
Contoh berikutnya adalah kita akan
mengekstrak teks dalam bentuk list
EXTRACTING TEXT FROM
TAGS
Python BeautifulSoup Extracting Links
EXTRACTING IMAGE
INFORMATION
Biasanya data dalam bentuk gambar
terletak pada tag img.
Sedangkan alamat gambar terletak pada
atribut src.
SCRAPING MULTIPLE PAGES
Terdapat dua cara untuk mengekstraksi data pada website yang memiliki lebih dari 1
halaman.
Cara pertama adalah menulis dengan membuat kode yang ditujukan untuk ekstraksi alamat
web yang sama (looping)
Cara kedua adalah dengan kode yang ditujukan untuk ekstraksi pada URL situs di halaman
lain
SCRAPING MULTIPLE PAGES
Kode disamping merupakan contoh
penggunaan BeautifulSoup untuk scraping
pada lebih dari 1 halaman website. Kode
diatas me-retrieve semua URL yang ada pada
web tersebut
SCRAPING MULTIPLE PAGES
Kode program diasamping merupakan bentuk
implementasi BeautifulSoup untuk
menambang data pada suatu page tertentu
dalam suatu website
SCRAPING MULTIPLE PAGES
Kode program diasamping merupakan bentuk
implementasi BeautifulSoup untuk
menambang data pada banyak halaman pada
sebuah website
SAVE DATA TO CSV
TUGAS LATIHAN SCRAPING
WEBSITE
Silahkan scraping data di website [Link] atau
[Link]
Ambil data judul/title di setiap halaman
Simpan data ke dalam format CSV