Python ile API İletişimi ve JSON İşlemleri
1. Giriş
Günümüz yazılım dünyasında, farklı sistemlerin birbirleriyle iletişim kurabilmesi büyük önem taşımaktadır. Bu iletişim genellikle Uygulama Programlama Arayüzleri (API) aracılığıyla sağlanmaktadır. API'ler, sistemler arasında veri alışverişini standartlaştıran ve yönetilebilir hale getiren yazılım bileşenleridir. Python, geniş kütüphane desteği sayesinde API’lerle etkili bir şekilde çalışabilme imkanı sunar. JSON (JavaScript Object Notation) formatı ise, API’ler aracılığıyla veri paylaşımında en yaygın kullanılan veri formatlarından biridir.
![]() |
Python Programlama - TekNo Gen TR |
Bu makalede, Python ile API’lere nasıl istek atılabileceği, alınan JSON verilerinin nasıl işlenebileceği ve gerçek dünya senaryolarında nasıl kullanılabileceği detaylı bir şekilde ele alınacaktır.
2. API Nedir?
API (Application Programming Interface), iki yazılım bileşeni arasında veri alışverişi yapmak için kullanılan bir ara yüzdür. API’ler, istemciler ile sunucular arasında veri alışverişini standart bir protokol aracılığıyla gerçekleştirir. Web API’leri genellikle HTTP protokolü üzerinde çalışır ve JSON veya XML formatında veri döndürür. API türleri şu şekilde sınıflandırılabilir:
- RESTful API (Representational State Transfer API)
- SOAP API (Simple Object Access Protocol)
- GraphQL API
RESTful API’ler, günümüzde en yaygın kullanılan API türlerinden biridir ve JSON formatında veri alışverişi sağlar.
3. Python ile API İletişimi
Python, API’lerle iletişim kurmak için güçlü kütüphaneler sunmaktadır. Bunlardan en yaygın kullanılanı requests
kütüphanesidir.
3.1. Requests Kütüphanesi ile API'ye İstek Gönderme
Python'da API'lere GET, POST, PUT ve DELETE istekleri göndermek için requests
kütüphanesi kullanılır.
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
if response.status_code == 200:
print(response.json())
else:
print("Hata oluştu:", response.status_code)
Bu örnekte, requests.get()
fonksiyonu ile belirtilen URL’ye GET isteği gönderilmektedir. Dönen yanıt JSON formatında olup response.json()
ile işlenebilir hale getirilmektedir.
3.2. POST İsteği Gönderme
API’ye veri göndermek için POST isteği kullanılır.
url = "https://jsonplaceholder.typicode.com/posts"
data = {"title": "Python API", "body": "API ile JSON işlemleri", "userId": 1}
response = requests.post(url, json=data)
print(response.json())
Bu kod, belirtilen API’ye JSON formatında veri göndererek yeni bir kaynak oluşturmaktadır.
4. JSON İşlemleri
JSON, anahtar-değer çiftleri şeklinde yapılandırılmış hafif bir veri formatıdır. Python, JSON verileri işlemek için json
modülünü kullanmaktadır.
4.1. JSON Verisini Python Nesnesine Dönüştürme
import json
json_veri = '{"ad": "Ali", "yas": 25}'
deger = json.loads(json_veri)
print(deger["ad"]) # Çıktı: Ali
4.2. Python Nesnesini JSON Formatına Dönüştürme
python_veri = {"ad": "Ayşe", "yas": 30}
json_donusturulmus = json.dumps(python_veri, indent=4)
print(json_donusturulmus)
5. API ve JSON Kullanım Senaryoları
API’ler ve JSON formatı, birçok gerçek dünya uygulamasında kullanılmaktadır:
- Hava Durumu Uygulamaları: API’lerden alınan JSON verileri ile güncel hava durumu verileri gösterilebilir.
- Sosyal Medya Entegrasyonları: API’ler sayesinde sosyal medya platformlarından veri çekilebilir ve analiz edilebilir.
- Finans ve Borsa Takibi: Finansal API’ler kullanılarak döviz kurları ve hisse senedi fiyatları takip edilebilir.
6. Güvenlik Önlemleri
API kullanımı sırasında güvenlik büyük önem taşır. API’lerle güvenli iletişim sağlamak için:
- API Anahtarlarını Gizli Tutun
- OAuth 2.0 veya JWT ile Kimlik Doğrulama Yapın
- Güvenli Bağlantı (HTTPS) Kullanın
- Ortam Değişkenleri ile API Anahtarlarını Yönetin
7. Sonuç
Python, API'lerle iletişim kurmak ve JSON verilerini işlemek için güçlü araçlar sunmaktadır. requests
kütüphanesi, RESTful API'lerle çalışmayı kolaylaştırırken, json
modülü veri dönüşümlerini pratik hale getirmektedir. API’lerin etkin ve güvenli kullanımı, modern yazılım geliştirme süreçlerinde kritik bir rol oynamaktadır.
8. Kaynakça
- Van Rossum, G. (2020). Python Programming Language. Python Software Foundation.
- Fielding, R. T. (2000). Architectural Styles and the Design of Network-based Software Architectures.
- JSON.org. (2023). Introducing JSON. Retrieved from https://www.json.org
- Python Software Foundation. (2024). Requests: HTTP for Humans. Retrieved from https://docs.python-requests.org
9. Kaynak: (TekNo.Gen.TR)
Bu doküman, platformumuzun uzman editörleri tarafından özenle hazırlanarak titizlikle derlenmiştir. İçerik, alanında deneyimli profesyonellerin katkılarıyla, en güncel bilgilere ve kaynaklara dayanarak oluşturulmuştur.
![]() |
Python Programlama - TekNo Gen TR |
![]() |
Python Programlama - Ak Web TR |
Ak.Web.TR, Python Programlama alanında kapsamlı eğitimler sunarak, katılımcıların yazılım geliştirme becerilerini ileriye taşımasına yardımcı olmaktadır. Python'un basit ve etkili yapısı, hem yeni başlayanlar hem de deneyimli yazılımcılar için ideal bir dil olmasını sağlar. Eğitimlerimiz, veri analitiği, yapay zeka, web geliştirme ve otomasyon gibi geniş alanlarda derinlemesine bilgi edinmenizi sağlar. Python programlamada temel kavramlardan ileri düzey tekniklere kadar geniş bir yelpazede içerik sunan kurslarımız, katılımcılara sektördeki en güncel bilgileri öğretmek amacıyla tasarlanmıştır.
Ak.Web.TR ile Python öğrenerek, yazılım dünyasında güçlü bir kariyer temeli oluşturabilirsiniz.