Berikut ini cara melakukan web scrapping dengan Python
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = "https://satudata.nganu.id/dataset/63/2021/data-masjid"
# Mengambil konten halaman menggunakan requests
response = requests.get(url)
if response.status_code == 200:
# Membuat objek BeautifulSoup untuk melakukan parsing HTML
soup = BeautifulSoup(response.text, 'html.parser')
# Mengidentifikasi elemen HTML yang berisi data yang diinginkan
# Misalnya, jika data terletak dalam elemen tabel <table>
table = soup.find('table')
# Membaca tabel HTML ke dalam DataFrame menggunakan pandas
data = pd.read_html(str(table))[0]
# Menampilkan DataFrame
print(data)
else:
print(f"Failed to retrieve the page. Status code: {response.status_code}")
Jika terdiri dari banyak halaman bisa menggunakan cara seperti ini, walaupun anda perlu melakukan penyesuaian
import requests
from bs4 import BeautifulSoup
import pandas as pd
def scrape_data(url):
# List untuk menyimpan DataFrames dari setiap halaman
all_dataframes = []
while True:
# Mengambil konten halaman menggunakan requests
response = requests.get(url)
if response.status_code == 200:
# Membuat objek BeautifulSoup untuk melakukan parsing HTML
soup = BeautifulSoup(response.text, 'html.parser')
# Mengidentifikasi elemen HTML yang berisi data yang diinginkan
# Misalnya, jika data terletak dalam elemen tabel <table>
table = soup.find('table')
# Membaca tabel HTML ke dalam DataFrame menggunakan pandas
data = pd.read_html(str(table))[0]
# Menambahkan DataFrame ke list
all_dataframes.append(data)
# Mencari URL halaman berikutnya (jika ada)
next_page = soup.find('li', class_='page-item next')
if next_page:
# Mendapatkan URL dari atribut 'href'
url = next_page.find('a')['href']
else:
# Keluar dari loop jika tidak ada halaman berikutnya
break
else:
print(f"Failed to retrieve the page. Status code: {response.status_code}")
break
# Menggabungkan semua DataFrames menjadi satu
result_df = pd.concat(all_dataframes, ignore_index=True)
return result_df
# Gantilah 'https://satudata.nganu.id/dataset/63/2021/data-masjid' dengan URL yang sesuai
url_to_scrape = 'https://satudata.nganu.id/dataset/63/2021/data-masjid'
result_dataframe = scrape_data(url_to_scrape)
# Menampilkan DataFrame hasil
print(result_dataframe)
result_dataframe.to_csv('data-masjid.csv')
Jika kamu tidak bisa emnembusnya gunakan firewall ini https://www.blackbox.ai/