|
|
import requests |
|
|
import gradio as gr |
|
|
|
|
|
def tum_pokemon_isimleri(): |
|
|
pokemon_isimleri = [] |
|
|
url = "https://pokeapi.co/api/v2/pokemon?limit=100" |
|
|
|
|
|
while url: |
|
|
response = requests.get(url) |
|
|
data = response.json() |
|
|
|
|
|
for pokemon in data["results"]: |
|
|
pokemon_isimleri.append(pokemon["name"]) |
|
|
|
|
|
|
|
|
url = data["next"] |
|
|
|
|
|
return pokemon_isimleri |
|
|
|
|
|
pokemon_isimleri= tum_pokemon_isimleri() |
|
|
|
|
|
for isim in pokemon_isimleri: |
|
|
print(isim) |
|
|
def pokemon_bilgisi(pokemon): |
|
|
url = f"https://pokeapi.co/api/v2/pokemon/{pokemon.lower()}" |
|
|
response = requests.get(url) |
|
|
if response.status_code == 200: |
|
|
veri = response.json() |
|
|
isim = veri["name"] |
|
|
tipler = [tip["type"]["name"] for tip in veri["types"]] |
|
|
istatistikler = {stat["stat"]["name"]: stat["base_stat"] for stat in veri["stats"]} |
|
|
resim_url = veri["sprites"]["front_default"] |
|
|
|
|
|
pokemon_bilgisi = f"İsim: {isim}\nTipler: {', '.join(tipler)}\nİstatistikler: {istatistikler}" |
|
|
return pokemon_bilgisi, resim_url |
|
|
else: |
|
|
return "Pokémon bulunamadı veya API isteği başarısız oldu.",None |
|
|
|
|
|
|
|
|
with gr.Blocks() as demo: |
|
|
pokemon = gr.Dropdown(label="Pokémon Adı", choices=pokemon_isimleri) |
|
|
pokemon_bilgisi_output = gr.Textbox(label="Pokémon Bilgisi", interactive=False) |
|
|
pokemon_resim_output = gr.Image(label="Pokémon Resmi", interactive=False) |
|
|
|
|
|
|
|
|
pokemon.select(pokemon_bilgisi, inputs=pokemon, outputs=[pokemon_bilgisi_output, pokemon_resim_output]) |
|
|
demo.launch(share=True) |