Pada tutorial part 5 kita akan menyimpan hasil scraping dengan BeautifulSoup di Python ke dalam format .csv
agar mudah diproses.
Data halaman website adalah sumber data yang tidak terstruktur. Diperlukan mekanisme untuk membuatnya lebih terstruktur agar data lebih mudah diproses dan dianalisa
Kita akan menggunakan library pandas
di Python untuk menyimpan dan mengolah data yang sudah terstruktur ke dalam file berformat .csv
Library pandas
pandas
adalah sebuah library di Python yang menyediakan struktur data dan analisis data yang mudah digunakan
Pastikan telah menginstall library pandas
terlebih dahulu. Jika belum gunakan pip
atau conda
untuk menginstallnya
pip install pandas
Note : Cara install library Python dengan pip
dan conda
Setelah berhasil instalasi pandas
selanjutnya import library pandas
import pandas as pd
Save Hasil Scraping
Kita akan melakukan modefikasi kode yang sama dari tutorial part 4 dalam melakukan web scraping
Buat List untuk menampung hasil scraping
data = []
Kemudian gunakan fungsi append
untuk memasukkan quote, author
dan tags
ke dalam List yang telah dibuat
data.append({ 'quote': quote, 'author': author, 'tags': tags })
Selanjutnya setelah iterasi selesai convert List menjadi DataFrame
pandas
dan simpan ke dalam file csv
df = pd.DataFrame(data) df.to_csv('all_quotes.csv', encoding="utf-8")
Jika kita buka file all_quotes.csv
hasilnya adalah

Final Code
Berikut adalah final code untuk web scraping semua quote untuk semua halaman dan menyimpannya ke dalam file .csv
from bs4 import BeautifulSoup import requests import pandas as pd data = [] # quotes di halaman 1 - 10 for page in range(1,11): if page == 1: url = "http://quotes.toscrape.com" else: url = "http://quotes.toscrape.com/page/"+str(page) page = requests.get(url) soup = BeautifulSoup(page.content, 'html.parser') quotes = soup.find_all('div', class_='quote') for q in quotes: quote = q.find('span', class_='text').text author = q.find('small', class_='author').text tags = [tag.text for tag in q.find('div', class_='tags').find_all('a', class_='tag')] data.append({ 'quote': quote, 'author': author, 'tags': tags }) df = pd.DataFrame(data) df.to_csv('all_quotes.csv', index=False, encoding="utf-8")
Descriptive Analytics
Salah satu metode analisis adalah analisis deskriptif yang merupakan analisis dasar dari sumber data
Kita akan gunakan jupyter notebook
dengan pandas
untuk melakukan analisis deskriptif
Note : Tutorial Jupyter Notebook
Kita dapat membaca file all_quotes.csv
melalui pandas
untuk melakukan analisis data sederhana
Memanggil library pandas
dan membaca file all_quotes.csv

Melihat preview 5 record teratas

Melihat nama kolom dari data

Melihat informasi lebih detail dari data berdasarkan nama kolom dan jumlah record-nya

Melihat deskripsi data seperti jumlah data, data yang unik, frequensi dan sebagainya

Mencari tahu jumlah quote berdasarkan author-nya (Albert Einstein paling banyak dengan 10 quote)

Untuk detail library pandas
akan dicover dengan tutorial lainnya yang lebih detail untuk analisis data
Selamat anda telah menyelesaikan rangkaian tutorial untuk web scraping dengan BeautifulSoup di Pytyhon
Silahkan berekplorasi dengan website lainnya sebagai sumber data dengan teknik yang telah kita pelajari
Keep Coding 😀
misal udah bisa tutor yang di atas lalu yang format csv data. buat apa ya gan. maap newbie
datanya dapat dianalisis untuk dicari knowledge didalamnya..
kalo untuk website yang menggunakan ajax di tiap halamannya caranya gimana min?
pakai splash atau selenium
teruskan gan