DEV Community

Okyza Maherdy Prabowo
Okyza Maherdy Prabowo

Posted on

Tutorial: Cara Menarik Data Tabel Transportasi dari Situs Web dan Menyimpannya sebagai File CSV dengan Python

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)

Enter fullscreen mode Exit fullscreen mode

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')
Enter fullscreen mode Exit fullscreen mode

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)