# 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
```