Spaces:
Sleeping
Sleeping
import requests | |
import json | |
import time | |
def build_fr_to_en_map(): | |
fr_to_en = {} | |
total_species = 1025 # nombre approximatif de Pokémon en 2025 | |
print("⏳ Récupération des noms depuis PokéAPI...") | |
for species_id in range(1, total_species + 1): | |
url = f"https://pokeapi.co/api/v2/pokemon-species/{species_id}/" | |
try: | |
res = requests.get(url) | |
res.raise_for_status() | |
data = res.json() | |
name_en = None | |
name_fr = None | |
for entry in data["names"]: | |
lang = entry["language"]["name"] | |
if lang == "en": | |
name_en = entry["name"] | |
elif lang == "fr": | |
name_fr = entry["name"] | |
if name_en and name_fr: | |
fr_to_en[name_fr.lower()] = name_en.lower() | |
print(f"✅ {species_id}: {name_fr} ➝ {name_en}") | |
time.sleep(0.1) # pour éviter de spam l'API | |
except Exception as e: | |
print(f"⚠️ Erreur à l'ID {species_id} : {e}") | |
continue | |
return fr_to_en | |
if __name__ == "__main__": | |
mapping = build_fr_to_en_map() | |
# Sauvegarde dans un fichier JSON | |
with open("fr_to_en_pokemon.json", "w", encoding="utf-8") as f: | |
json.dump(mapping, f, ensure_ascii=False, indent=2) | |
print("\n✅ Fichier 'fr_to_en_pokemon.json' généré avec succès.") | |