Dasar-Dasar REST API untuk Pengumpulan Data
HTTP GET/POST, header, autentikasi (kunci API, Bearer), dan penguraian JSON dengan requests.
Dasar-Dasar REST API untuk Pengumpulan Data adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Mengapa API Penting bagi AI
Kualitas model hanya sebaik kualitas datanya. API web memungkinkan Anda mengumpulkan data terstruktur yang masih baru sesuai kebutuhan — cuaca, harga, kiriman media sosial, dan kumpulan data publik — alih-alih bergantung pada satu berkas statis.
Kursus ini menggunakan Python dan pustaka requests yang populer untuk mengambil serta menyimpan data tersebut.
Apa Itu REST API?
REST API menyediakan sumber daya melalui HTTP. Anda mengirim permintaan ke URL (titik akhir) dan menerima data, biasanya dalam bentuk JSON.
Metode HTTP utama:
GET— membaca dataPOST— membuat dataPUT/PATCH— memperbarui dataDELETE— menghapus data
Untuk pengumpulan data, Anda terutama menggunakan GET.
Permintaan GET Pertama
requests.get(url) mengirim permintaan GET dan mengembalikan objek respons. Respons tersebut berisi status, header, dan isi.
import requests
resp = requests.get("https://api.example.com/users")
print(resp.status_code) # 200
print(resp.text[:200]) # raw body as a stringMemeriksa response.status_code
Kode status memberi tahu Anda apakah permintaan berhasil:
200OK301/302pengalihan400permintaan tidak valid401/403masalah autentikasi404tidak ditemukan429terkena pembatasan laju500kesalahan server
resp = requests.get(url)
if resp.status_code == 200:
print("Success")
else:
print("Failed:", resp.status_code)Mengurai JSON dengan response.json()
Sebagian besar API mengembalikan JSON. response.json() secara otomatis mengurai isi respons menjadi kamus dan daftar Python.
Jangan mengurai JSON secara manual — .json() menanganinya dan menimbulkan kesalahan yang jelas jika isi respons bukan JSON yang valid.
resp = requests.get("https://api.example.com/users/1")
data = resp.json()
print(data["name"])
print(data["email"])Mengirim Parameter Kueri dengan params
Filter dan atur permintaan menggunakan parameter kueri. Berikan kamus kepada params, lalu requests akan membuat URL untuk Anda sekaligus menangani pengodean.
Contoh tersebut menjadi ?city=London&units=metric pada URL.
params = {"city": "London", "units": "metric"}
resp = requests.get("https://api.example.com/weather", params=params)
print(resp.url)
print(resp.json())Mengirim Header
Header membawa metadata seperti tipe konten, agen pengguna, atau kunci/token API. Berikan header sebagai kamus kepada headers.
Banyak API memerlukan header Authorization untuk akses.
headers = {
"Authorization": "Bearer YOUR_TOKEN",
"User-Agent": "my-data-collector/1.0",
}
resp = requests.get("https://api.example.com/data", headers=headers)
print(resp.json())raise_for_status() untuk Kode yang Tangguh
Daripada memeriksa kode secara manual, panggil resp.raise_for_status(). Fungsi ini menimbulkan HTTPError untuk setiap respons 4xx atau 5xx, sehingga kegagalan akan segera terlihat.
Bungkus dalam blok try/except untuk menangani kesalahan dengan baik.
import requests
try:
resp = requests.get(url, timeout=10)
resp.raise_for_status()
data = resp.json()
except requests.HTTPError as e:
print("HTTP error:", e)
except requests.RequestException as e:
print("Network error:", e)Selalu Tetapkan Batas Waktu
Tanpa timeout, server yang macet dapat membuat skrip Anda berhenti tanpa batas waktu. Selalu berikan nilainya (dalam detik).
Dalam perulangan pengumpulan data yang mengakses ribuan titik akhir, batas waktu yang tidak ditetapkan sering menyebabkan pekerjaan membeku.
resp = requests.get(url, timeout=10) # give up after 10 secondsMenggunakan Kembali Koneksi dengan Session
requests.Session menggunakan kembali koneksi TCP yang mendasari di antara permintaan dan memungkinkan Anda menetapkan header satu kali. Untuk banyak panggilan ke host yang sama, cara ini jauh lebih cepat.
import requests
session = requests.Session()
session.headers.update({"Authorization": "Bearer YOUR_TOKEN"})
for uid in [1, 2, 3]:
resp = session.get(f"https://api.example.com/users/{uid}")
print(resp.json()["name"])
session.close()Pembantu Pengambilan yang Rapi
Bungkus pola ini ke dalam fungsi yang dapat digunakan kembali: tetapkan sesi, terapkan batas waktu, timbulkan kesalahan jika ada masalah, lalu kembalikan JSON yang telah diurai.
Anda akan mengembangkan pembantu ini pada pelajaran berikutnya untuk paginasi dan penyimpanan.
def fetch_json(session, url, params=None):
resp = session.get(url, params=params, timeout=10)
resp.raise_for_status()
return resp.json()Pemeriksaan Singkat: Permintaan yang Tangguh
Anda ingin kode Anda secara otomatis menimbulkan pengecualian ketika menerima respons 404 atau 500.
Ringkasan: Dasar-Dasar REST API
Sekarang Anda dapat mengumpulkan data melalui HTTP:
requests.get(url, params=..., headers=...)untuk membuat permintaanresponse.status_codedanraise_for_status()untuk mendeteksi kegagalanresponse.json()untuk mengurai isi responstimeoutuntuk mencegah proses terhentirequests.Sessionuntuk menggunakan kembali koneksi dan header
Berikutnya: mengumpulkan kumpulan data yang mencakup banyak halaman.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Dasar-Dasar REST API untuk Pengumpulan Data” gratis?
Ya — teks lengkap “Dasar-Dasar REST API untuk Pengumpulan Data” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Dasar-Dasar REST API untuk Pengumpulan Data”?
HTTP GET/POST, header, autentikasi (kunci API, Bearer), dan penguraian JSON dengan requests. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Dasar-Dasar REST API untuk Pengumpulan Data” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar-Dasar REST API untuk Pengumpulan Data
- Membuat Halaman dan Mengumpulkan Dataset Besar
- Menyimpan Data yang Dikumpulkan secara Efisien
- Bekerja dengan API Data Publik