API Météo Python [fermé]

Comment importer des données météorologiques dans un programme Python?

25
demandé sur Steven 2009-09-25 02:19:29

1 réponses

Depuis que Google a fermé ses météo API, je suggère de vérifier OpenWeatherMap:

Le service OpenWeatherMap fournit gratuitement des données météorologiques et API de prévision convient à tous les services cartographiques comme le web et les smartphones application. L'idéologie est inspirée par OpenStreetMap et Wikipedia qui rendre l'information gratuite et accessible à tous. OpenWeatherMap fournit une large gamme de données météorologiques telles que la carte avec la météo actuelle, Prévisions hebdomadaires, précipitations, vent, Nuages, données des Stations météorologiques et beaucoup d'autres. Les données météorologiques sont reçues de global Meteorological services de radiodiffusion et plus de 40 000 stations météorologiques.

Ce n'est pas une bibliothèque Python, mais c'est super facile à utiliser, car vous pouvez obtenir des résultats au format JSON.

Voici un exemple utilisant requêtes :

>>> from pprint import pprint
>>> import requests
>>> r = requests.get('http://api.openweathermap.org/data/2.5/weather?q=London&APPID={APIKEY}')
>>> pprint(r.json())
{u'base': u'cmc stations',
 u'clouds': {u'all': 68},
 u'cod': 200,
 u'coord': {u'lat': 51.50853, u'lon': -0.12574},
 u'dt': 1383907026,
 u'id': 2643743,
 u'main': {u'grnd_level': 1007.77,
           u'humidity': 97,
           u'pressure': 1007.77,
           u'sea_level': 1017.97,
           u'temp': 282.241,
           u'temp_max': 282.241,
           u'temp_min': 282.241},
 u'name': u'London',
 u'sys': {u'country': u'GB', u'sunrise': 1383894458, u'sunset': 1383927657},
 u'weather': [{u'description': u'broken clouds',
               u'icon': u'04d',
               u'id': 803,
               u'main': u'Clouds'}],
 u'wind': {u'deg': 158.5, u'speed': 2.36}}

Et voici un exemple utilisant PyOWM , un wrapper Python autour du web OpenWeatherMap API:

>>> import pyowm
>>> owm = pyowm.OWM()
>>> observation = owm.weather_at_place('London,uk')
>>> w = observation.get_weather()
>>> w.get_wind()
{u'speed': 3.1, u'deg': 220}
>>> w.get_humidity()
76

La documentation officielle de l'API est disponible ici.

Pour obtenir la clé API inscrivez-vous pour ouvrir carte météo ici

45
répondu Paolo Moretti 2016-03-10 22:16:55