Browse Source

requests

master
Jakub Škrabánek 4 weeks ago
parent
commit
c404d62db9
  1. 21
      20_requests/chucknoris.py
  2. 19
      20_requests/dadzjokes.py
  3. 48
      20_requests/pokemon_api_obrazek.py
  4. 7
      20_requests/poznamky.txt
  5. 17
      20_requests/requirements.txt

21
20_requests/chucknoris.py

@ -0,0 +1,21 @@
import requests
from termcolor import colored
def get_cnj():
print("--- Nahodný vtip o Chucku Norrisovi ---")
url = "https://api.chucknorris.io/jokes/random"
try:
#odeslání požadavku na "url"
response = requests.get(url)
#čekání na odpovědi od "url"
response.raise_for_status()
#zpracování dat na JSON
data = response.json()
#print(f"RAWDATA:{data}")
print(colored(f"JOKE:{data["value"]}","yellow"))
except Exception as e:
print(f"Chyba:{e}")
if __name__ == "__main__":
get_cnj()

19
20_requests/dadzjokes.py

@ -0,0 +1,19 @@
import requests
from termcolor import colored
def get_dad_joke():
print ("Nahodný dad džouk")
url = "https://icanhazdadjoke.com"
headers = {
"Accept":"application/json",
"User-Agent" : "Python example for programming lessons"
}
try:
response = requests.get(url,headers=headers)
response.raise_for_status()
data =response.json()
print(colored(f"\n{data["joke"]}\n","green"))
except Exception as e:
print(f"chyba:{e}")
if __name__ == "__main__":
get_dad_joke()

48
20_requests/pokemon_api_obrazek.py

@ -0,0 +1,48 @@
#pip install matplotlib pillow termcolor requests
import requests
import random
import os
from io import BytesIO #pro vytvoření "virtualního souboru" v paměti RAM
import matplotlib.pyplot as plt
from PIL import Image
from termcolor import colored
def nahodny_pokemon():
print("-- Generator nahodhjného pokémona (PokeAPI) ---")
poke_id = random.randint(1,151)
url = f"https://pokeapi.co/api/v2/pokemon/{poke_id}"
print(f"Hledám data pro pokémona ID: {colored(poke_id,"green")}")
try:
response = requests.get(url)
response.raise_for_status()
data = response.json()
jmeno = data["name"].capitalize() #první písmeno velké na začátku slova
#obrazek_url = data["sprites"]["front_default"]
obrazek_url = data["sprites"]["other"]["official-artwork"]["front_default"]
print(f"objevil se {colored(jmeno,"green")}!!!")
if obrazek_url:
print(f"stahuji obrazek pro {colored(jmeno,"red")}")
img_response = requests.get(obrazek_url) #požádáme o data
img_response.raise_for_status() #čekáme na odpověd
img_data = BytesIO(img_response.content) #odpověd si uložíme do paměti jako virtualní soubor
img = Image.open(img_data)#virtualní soubor otevřeme jako obrázek
print(f"zobrazuji obrázek pro {colored(jmeno,"blue")}")
plt.figure(figsize=(5,5))
plt.imshow(img)
plt.title(jmeno)
plt.axis("off") #skryje osy
plt.show() #zde se kod zastavi, dokud uživatel nezavře okno
print("Okno zavřeno, pokračuji...")
else:
print("obrazek není k dispozici")
except Exception as e:
print(f"chyba při komunikaci: {e}")
if __name__ == "__main__":
for i in range(3):
nahodny_pokemon()

7
20_requests/poznamky.txt

@ -0,0 +1,7 @@
mkdir 20_requests
cd 20_requests
python -m venv .venv
.venv\Scripts\activate
pip install requests
pip install termcolor
pip install pillow matplotlib

17
20_requests/requirements.txt

@ -0,0 +1,17 @@
certifi==2026.1.4
charset-normalizer==3.4.4
contourpy==1.3.3
cycler==0.12.1
fonttools==4.61.1
idna==3.11
kiwisolver==1.4.9
matplotlib==3.10.8
numpy==2.4.2
packaging==26.0
pillow==12.1.0
pyparsing==3.3.2
python-dateutil==2.9.0.post0
requests==2.32.5
six==1.17.0
termcolor==3.3.0
urllib3==2.6.3
Loading…
Cancel
Save