0Pricing
Learn AI with Python · Pelajaran

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 data
  • POST — membuat data
  • PUT/PATCH — memperbarui data
  • DELETE — 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 string

Memeriksa response.status_code

Kode status memberi tahu Anda apakah permintaan berhasil:

  • 200 OK
  • 301/302 pengalihan
  • 400 permintaan tidak valid
  • 401/403 masalah autentikasi
  • 404 tidak ditemukan
  • 429 terkena pembatasan laju
  • 500 kesalahan 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 seconds

Menggunakan 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 permintaan
  • response.status_code dan raise_for_status() untuk mendeteksi kegagalan
  • response.json() untuk mengurai isi respons
  • timeout untuk mencegah proses terhenti
  • requests.Session untuk 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

  1. Dasar-Dasar REST API untuk Pengumpulan Data
  2. Membuat Halaman dan Mengumpulkan Dataset Besar
  3. Menyimpan Data yang Dikumpulkan secara Efisien
  4. Bekerja dengan API Data Publik
← Kembali ke Learn AI with Python