Mengambil data dari public API menggunakan requests library
Artikel kali ini adalah contoh praktis tentang bagaimana menggunakan requests library untuk mendapatkan data yang disediakan oleh sebuah public API.
Requests Library
Requests adalah sebuah HTTP library dalam bahasa pemrograman python dengan lisensi open source (Apache2). Library ini menyediakan mekanisme untuk mengirimkan request ke suatu alamat web dengan protokol HTTP/1.1. Library ini menyediakan banyak kemudahan untuk menyesuaikan parameter pada isi request yang dikirim, baik header, form data, mulipart files dan parameter lainnya.
Public API
Public API (atau open API), sederhananya merupakan sebuah resource di Internet yang memberikan akses kepada publik untuk penggunaan servicenya melalui sebuah API (Application Programming Interface). Pada contoh kali ini kita akan menggunakan API pada situs https://www.exchangerate-api.com/ yang menyediakan data nilai tukar mata uang. Untuk mendapatkan data nilai tukar rupiah terhadap mata uang lainnya, maka kita dapat mengakses API tersebut pada alamat: https://api.exchangerate-api.com/v4/latest/IDR
Contoh Kode
Contoh kode berikut mendemonstrasikan cara menggunakan library requests untuk mendapatkan nilai tukar rupiah terkini pada situs exhangerate-api.com. Kode sudah dilengkapi dengan komentar untuk memperjelas maknanya.
Penjelasan
Berikut adalah penjelasan untuk kode di atas:
- Baris pertama pada kode adalah perintah untuk meng-import requests library.
- Baris ketiga adalah inisialisasi variabel yang berisi alamat API yang akan diakses.
- Pada baris keempat kita menggunakan requests untuk melakukan akses API pada alamat yang telah kita tentukan, kemudian menyimpan hasilnya (respon server) ke dalam variabel rslt. Variabel rslt ini bertipe data Response.
- Pada baris keenam kita memeriksa apakah respon dari server adalah respon yang diinginkan. Caranya adalah dengan membandingkan rslt.status_code dengan requests.codes.ok (http status code 200). Jika ya, kode akan dilanjutkan ke pemrosesan isi respon.
- Hasil dari respon (rslt.text) sebenarnya merupakan teks dengan format JSON, untuk mengubahnya ke dalam tipe data dictionary, dapat menggunakan .json() seperti ditunjukkan pada baris ketujuh.
- Dengan tipe data dictionary, nilai dapat diakses menggunakan key-nya. Baris ke-8 mengambil seluruh nilai tukar dengan key ‘rates’ yang isinya juga berupa dictionary, kemudian diiterasi untuk menampilkan nilai tukar rupiah (IDR) terhadap masing-masing mata uang yang ada.
Sekian, semoga bermanfaat.
Tankyu 😊