Home

Archives

Bio

Github

Whatsapp

Python Web Scraping Demografi Indonesia

2:41 PM
Sebagai seorang Data Engineer, Anda diminta untuk menggali informasi dari https://id.wikipedia.org/wiki/Demografi_Indonesia menggunakan bahasa pemrograman Python. 

Buatlah suatu script Python untuk menyimpan tabel "Jumlah Penduduk menurut Provinsi" dari web tersebut dengan format CSV.

File CSV menggunakan format double-apostrophe quoting (") dan disimpan dengan nama "Indonesia_Demography_by_Province.csv"

Kolom yang perlu Anda ambil adalah sebagai berikut.

  • Kode BPS
  • Nama
  • Ibu Kota
  • Populasi
  • Luas km
  • Pulau

import requests
from bs4 import BeautifulSoup
import pandas as pd

URL = 'https://id.wikipedia.org/wiki/Demografi_Indonesia'
response = requests.get(URL)
soup = BeautifulSoup(response.text,'html.parser')

table = soup.find('table',{'class':'wikitable sortable'}).tbody
rows = table.find_all('tr')

columns = ['Kode BPS', 'Nama', 'Ibu Kota', 'Populasi', 'Luas', 'Pulau']
df = pd.DataFrame(columns=columns)

for i in range(1,len(rows)):
    tds = rows[i].find_all('td')

    values = [tds[0].text, tds[2].text, tds[4].text, tds[5].text.replace('\n',''.replace('\xa0','')), tds[6].text.replace('\n',''.replace('\xa0','')), tds[8].text.replace('\n',''.replace('\xa0',''))]

    df = df.append(pd.Series(values, index=columns), ignore_index=True)
    #print(df)

df.to_csv('G:\Indonesia_Demography_by_Province.csv', columns=columns,sep='"',quotechar='"',index=False)
© 2014 Hendra All Right Reserved