# Python RestCountries API URL: https://restcountries.com/ JSON formatter: https://jsonformatter.curiousconcept.com/ ## 1. Prvi koraki z API-jem Najprej potrebujemo knjižnico requests: ```python import requests ``` Naredimo prvi klic na API, da vidimo seznam vseh držav: ```python # Pošljemo zahtevo na API odgovor = requests.get("https://restcountries.com/v3.1/all") # Preverimo, če je bila zahteva uspešna if odgovor.status_code == 200: print("Uspešno smo pridobili podatke!") else: print("Prišlo je do napake.") ``` ## 2. Osnovno razumevanje JSON podatkov Poglejmo, kaj smo pravzaprav dobili: ```python # Pretvorimo odgovor v Python slovar drzave = odgovor.json() # Izpišemo število držav print(f"Pridobili smo podatke o {len(drzave)} državah.") # Poglejmo tip spremenljivke print(f"Tip spremenljivke 'drzave' je: {type(drzave)}") ``` ## 3. Pregled prve države Poglejmo podatke o prvi državi v seznamu: ```python # Vzamemo prvo državo iz seznama prva_drzava = drzave[0] # Izpišemo ime države print(f"Prva država v seznamu: {prva_drzava['name']['common']}") # Izpišemo nekaj osnovnih podatkov print(f"Uradno ime: {prva_drzava['name']['official']}") ``` ## 4. Dostopanje do osnovnih podatkov Poglejmo, kako dostopamo do posameznih podatkov: ```python # Izberemo prvo državo drzava = drzave[0] # Dostopamo do osnovnih podatkov ime = drzava["name"]["common"] populacija = drzava.get("population", "Ni podatka") # Izpišemo jih print(f"Država: {ime}") print(f"Populacija: {populacija}") ``` ## 5. Varno dostopanje do podatkov, ki morda ne obstajajo Nekatere države nimajo vseh podatkov. Uporabimo metodo `get()`: ```python # Nekatere države nimajo glavnega mesta if "capital" in drzava and len(drzava["capital"]) > 0: glavno_mesto = drzava["capital"][0] else: glavno_mesto = "Ni podatka" print(f"Glavno mesto: {glavno_mesto}") ``` ## 6. Sprehod po prvih petih državah Uporabimo zanko za prikaz več držav: ```python # Izpišimo prvih 5 držav print("\nPrvih 5 držav v seznamu:") for i in range(5): if i < len(drzave): # Preverimo, če imamo dovolj držav drzava = drzave[i] ime = drzava["name"]["common"] print(f"{i+1}. {ime}") ``` ## 7. Sprehod po vseh državah Če želimo pregledati vse države: ```python # Štejemo države stevilo_drzav = 0 # Sprehod čez vse države print("\nPreštejem vse države:") for drzava in drzave: stevilo_drzav += 1 print(f"Skupno število držav: {stevilo_drzav}") ``` ## 8. Iskanje specifične države Lahko iščemo tudi posamezno državo po imenu: ```python # Iskanje podatkov o Sloveniji odgovor = requests.get("https://restcountries.com/v3.1/name/slovenia") # Preverimo, če je bila zahteva uspešna if odgovor.status_code == 200: slovenija_podatki = odgovor.json() # To je seznam z rezultati # Vzamemo prvi rezultat (najbolj natančno ujemanje) slovenija = slovenija_podatki[0] print("\nPodatki o Sloveniji:") print(f"Ime: {slovenija['name']['common']}") print(f"Uradno ime: {slovenija['name']['official']}") if "capital" in slovenija: print(f"Glavno mesto: {slovenija['capital'][0]}") print(f"Populacija: {slovenija.get('population', 'Ni podatka')}") else: print("Podatkov o Sloveniji ni bilo mogoče najti.") ``` ## 9. Filtriranje držav Poglejmo, kako lahko filtriramo države: ```python # Izpišimo nekaj evropskih držav print("\nNekaj evropskih držav:") stevec = 0 for drzava in drzave: # Preverimo, če je država v Evropi if drzava.get("region") == "Europe": print(drzava["name"]["common"]) stevec += 1 # Omejimo izpis na 5 držav if stevec >= 5: break ```