Python ile Web Servis Kullanmak
Python ile Web Servis Kullanmak
Python json verisi ile çalışmak için json ve simplejson modüllerini barındırır. JSON işlemleri için bu modüllerin birisinin eklenmesi gerekir.
Bir web servisine erişmek istiyorsak öncelikli olarak URL bilgisine sahip olmamız gerekir. Web servisin URL bilgisine sahipsek kullanacağımız servis hakkındaki dokümantasyonları okumakta fayda vardır. Birçok web servis farklı amaçlara hizmet eden onlarca metot barındırabilir. Dokümantasyonları incelemek kullanacağımız web servisle neler yapabileceğimiz konusunda bize fikir verecektir. Dokümantasyonlarda web servisin nasıl kullanılabileceği, ne türden veri döndürdüğü gibi bilgiler bulunur.
Web Servis Kullanırken Hangi Modüllere İhtiyacımız Var?
Web servislere talep göndermek ve almak için requests modülü kullanılabilir. Benzer görevleri yapan urllib2 modülü de kullanılabilir. Servisten döner veriyi json olarak işleyebilmek için json veya simplejson modüllerine ihtiyacımız olacak.
-
requests
-
json
pip3 install requests
requests modülününü kullanımıyla ilgili bilgilere aşağıdaki bağlantıdan ulaşabilirsiniz.
http://docs.python-requests.org/en/master/#
Web Servise Talepte Bulunmak
Aşağıdaki python kodu bir web servisine nasıl talepte bulunabileceğimizi gösterir. Servis bize json tipinde bir veri döndürüyorsa json modülünü kullanarak dönen veriyi işleyebiliriz.
r = requests.get("http://services.groupkt.com/country/get/all") r.text
JSON Veriyi Dönüştürmek
Json modülünü kullanarak web servisinden elde ettiğimiz veriyi dönüştürebiliriz. Mesela bir json dizisi geliyorsa bu diziyi python dizisi olarak ele alabiliriz. Bunun için aşağıdaki komut kullanılır.
Veri = json.loads(r.text)
json modülünü kullanarak bir python nesnesini json stringine dönüştürmek istiyorsak aşağıdaki metot kullanılır.
Json.dumps()
Tüm kodlarımızı bir arada görelim.
#Gerekli modüller içe aktarılıyor import requests import json #Web servise talepte bulunuyoruz veri = requests.get("http://services.groupkt.com/country/get/all") #Web servisten json formatında text olarak dönen veri python sözlük dizisine dönüştürülüyor donenVeri = json.loads(veri.text) #Web servisten çekilen veri üzerinde döngü oluşuturularak sonuçlar ekrana yazılıyor for item in donenVeri['RestResponse']['result']: print("İsim:", (item['name'])) print("alfa2 kod:",item['alpha2_code'],) print("alfa3 kod:",item['alpha3_code']) print(".........................")
Yukarıdaki örnekte kullanılan web servisten dönne veri yapısında RestResponse nesnesi içinde result ismli bir dizi olarak sonuçlar döndürülmektedir. Bu sebeple üzerinde döngü oluşturulan dizi donenVeri[‘RestResponse’][‘result’] şeklinde elde edilmiştir.
Bir Cevap Yazın
Yorum yapabilmek için giriş yapmalısınız.