OpenWeatherMap API
Configuration
Créer un compte sur https://openweathermap.org
Récupérer la clé API (plan gratuit : 1000 appels/jour)
Utilisation
Par coordonnées GPS
from OpenWeatherMap import OpenWeatherMap_call_location
# Paris (Tour Eiffel)
latitude = "48.858370"
longitude = "2.294481"
# Appel API
df = OpenWeatherMap_call_location.API_call_location(latitude, longitude)
# Affichage
print(df)
DataFrames retournés
Timestamp : Date/heure
T(degC) : Température
RH(%) : Humidité relative
Par nom de ville
from OpenWeatherMap import OpenWeatherMap_call_city
# Récupération pour une ville
df = OpenWeatherMap_call_city.API_call_city("Paris", "FR")
print(f"Température : {df['T(degC)'].values[0]}°C")
print(f"Humidité : {df['RH(%)'].values[0]}%")
Exemple : Acquisition périodique
import time
import pandas as pd
from datetime import datetime
# Liste pour stocker les données
data_history = []
# Boucle d'acquisition toutes les heures
while True:
try:
df = OpenWeatherMap_call_location.API_call_location("48.858370", "2.294481")
data_history.append(df)
print(f"[{datetime.now()}] Données récupérées : T={df['T(degC)'].values[0]}°C")
# Sauvegarder périodiquement
if len(data_history) % 24 == 0: # Toutes les 24 heures
df_combined = pd.concat(data_history, ignore_index=True)
df_combined.to_excel('historique_meteo.xlsx', index=False)
# Attendre 1 heure (3600 secondes)
time.sleep(3600)
except Exception as e:
print(f"Erreur: {e}")
time.sleep(300)
Limites
1000 appels/jour (plan gratuit)
Ne pas interroger plus d’une fois toutes les 10-15 minutes
Utiliser MeteoCiel pour données historiques