Dalam dunia analisis data, sering kali Kita perlu mengambil data dari situs web dan menyimpannya dalam format yang mudah diolah, seperti file CSV. Dalam tutorial ini, kita akan belajar bagaimana melakukan scraping web menggunakan Python dan menyimpan data tabel dari situs web ke dalam file CSV.
Langkah 1: Instalasi Pustaka Python
Sebelum memulai, pastikan Kita telah menginstal pustaka Python yang diperlukan dengan menjalankan perintah berikut melalui terminal atau command prompt:
pip install beautifulsoup4 pandas requests
Langkah 2: Impor Pustaka dan Fungsi
Dalam hal ini menggunakan tiga pustaka utama:
requests: Untuk melakukan permintaan HTTP ke situs web.
BeautifulSoup (dari pustaka bs4): Untuk melakukan parsing HTML.
pandas: Untuk menyimpan data ke dalam file CSV.
Berikut adalah impor pustaka dan definisi fungsi yang akan kita gunakan:
import requests
from bs4 import BeautifulSoup
import pandas as pd
def scrape_table(url):
# Mengambil konten HTML dari URL
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# Mencari tabel dengan class 'table-striped'
table = soup.find('table', class_='table-striped')
# Mendapatkan semua baris dan kolom dari tabel
rows = table.find_all('tr')
data = []
for row in rows:
cols = row.find_all('td')
cols = [col.text.strip() for col in cols]
data.append(cols)
return data
def save_to_csv(data, filename):
# Menyimpan data ke dalam file CSV
df = pd.DataFrame(data[1:], columns=data[0])
df.to_csv(filename, index=False)
print("Data telah disimpan ke", filename)
Langkah 3: Scraping Data Tabel
Fungsi scrape_table(url) akan melakukan scraping data tabel dari URL yang diberikan dan mengembalikan data dalam bentuk list of lists. Ini akan memisahkan setiap baris dan kolom dari tabel.
Langkah 4: Menyimpan Data ke dalam File CSV
Fungsi save_to_csv(data, filename) akan mengambil data yang telah kita scrape dan menyimpannya ke dalam file CSV dengan menggunakan pustaka pandas.
Langkah 5: Menjalankan Skrip
if __name__ == "__main__":
# URL halaman web yang akan di-scrape
url = 'https://datinbptj.dephub.go.id/Statistik/ruas'
# Melakukan scraping data tabel
table_data = scrape_table(url)
# Menyimpan data ke dalam file CSV
save_to_csv(table_data, 'data_ruas.csv')
Dalam blok kode ini, kami menentukan URL situs web yang ingin kami scrape. Kemudian, kami memanggil fungsi scrape_table(url) untuk melakukan scraping data tabel dari URL tersebut, dan kemudian menyimpan data ke dalam file CSV dengan nama 'data_ruas.csv'.
Kesimpulan
Dengan menggunakan Python dan pustaka-pustaka yang tersedia, kita dapat dengan mudah menarik data tabel dari situs web dan menyimpannya dalam format yang mudah diolah seperti CSV. URL memberikan akses ke data yang tersedia secara online untuk analisis lebih lanjut sesuai kebutuhan.
Top comments (0)