Scraping Data Fasilitas dan Tenaga Kesehatan di Indonesia

Mia Renauly
3 min readMar 5, 2017

--

http://bppsdmk.kemkes.go.id/info_sdmk/peta?prov=11

Jadi pada suatu hari, di grup DSI (Data Science Indonesia) terdapat pembahasan mengenai website Kementerian Kesehatan http://bppsdmk.kemkes.go.id. Jika kita masuk ke menu GIS pada web itu, di dalamnya terdapat WebMap yang berisi sebaran lokasi fasilitas kesehatan di Seluruh Indonesia, beserta detil informasi Tenaga Kesehatannya, which made me want to scrape all those information. Sebenernya di grup DSI pun sudah banyak yang membuat kode untuk menscrape data Fasankyes tersebut, but I’ll try to make my own version.

Struktur Webmap Kemkes tersebut tidak terlalu complicated, untuk itu saya membuat kode Python, menggunakan library Requests dan BeautifulSoup untuk menarik datanya. Detil kodenya dapat di akses pada link github ini. Pada kode tersebut saya hanya membuat 3 fungsi, yang akan saya jelaskan dibawah ini:

  1. MENARIK DAFTAR KODE PROVINSI (fungsi kode_prov)

“http://bppsdmk.kemkes.go.id/info_sdmk/peta?prov=11"

Jika kita perhatikan struktur link nya, mereka menggunakan kode provinsi (BPS) di masing masing halaman provinsi yang kita pilih. Jangan khawatir, kita tidak perlu memiliki data kode provinsi dari BPS, karena jika kita lihat Source Code nya, ternyata list kode provinsi sudah ada.

Source Code dengan informasi List Kode Provinsi

Maka kita tinggal memparsing data tersebut dengan beberapa baris kode, yang diimplementasikan dengan fungsi kode_prov() seperti code dibawah ini.

2. MENARIK DETIL INFORMASI PETA (fungsi get_map)

Lalu jika kita kembali memperhatikan source code nya, masing masing informasi lokasi fasankyes di peta, dipisahkan oleh fungsi javascript map.addMarker, sehingga kita dapat menggunakan keyword tersebut untuk memparsing seluruh informasi lokasi Fasilitas Pelayanan Kesehatan beserta detil informasi Tenaga Kerjanya ( Dokter Umum,Dokter Gigi,Perawat,Bidan,Farmasi,Nakes Lainnya, dan Tenaga Pendukung).

Source Code dengan informasi List longlat dan detil masing masing Fasankyes

Hal tersebut diimplementasikan dengan fungsi get_map() dibawah ini:

3. MERAPIHKAN DATA UNTUK DIMASUKAN KE DATABASE (fungsi cleansing)

Dari kedua tahapan diatas, kita sudah mendapatkan list text yang berisi detil informasi lokasi dan SDM masing masing Fasankyes di Indonesia, namun informasinya masih berantakan, untuk itu kita perlu merapihkan datanya menjadi terstruktur untuk kemudian dimasukan ke dalam database, dengan fungsi cleansing() seperti dibawah ini:

Dengan seluruh tahapan diatas, kita telah berhasil menscrape seluruh data dan memasukannya ke dalam database. Langkah selanjutnya adalah memvisualisasikan data tersebut untuk mendapatkan gambaran mengenai persebaran Fasankyes dan SDM nya di Indonesia. Setelah berhasil menscrape data, baca tulisan saya mengenai visualisasi data hasil scrapping tersebut pada postingan berikut ini

Hasil Scrapping Webmap Kemkes

--

--

Mia Renauly

Interested at Tech, Investment, and Business. Analytics writings and personal opinion