Wie importiere ich Wetterdaten in ein Python-Programm?Python Weather API
Antwort
Da Google seine Wetter API heruntergefahren hat, schlage ich OpenWeatherMap zu überprüfen:
Der Openweathermap Service kostenlos Wetterdaten und Vorhersage API eignet sich für alle kartographische Dienste wie Web und Smartphones Anwendungen. Ideologie ist inspiriert von OpenStreetMap und Wikipedia, dass Informationen frei und für jedermann verfügbar machen. OpenWeatherMap bietet eine breite Palette von Wetterdaten wie Karte mit dem aktuellen Wetter, Wochenprognose, Niederschlag, Wind, Wolken, Daten von Wetterstationen und viele andere. Wetterdaten werden von globalen meteorologischen Broadcast-Diensten und mehr als 40 000 Wetterstationen empfangen.
Es ist keine Python-Bibliothek, aber es ist super einfach zu verwenden, weil Sie Ergebnisse im JSON-Format erhalten können.
Hier ist ein Beispiel unter Verwendung von Requests:
>>> 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}}
Und hier ist ein Beispiel unter Verwendung von PyOWM, einen Python-Wrapper um den Openweathermap Web-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
Die offizielle API-Dokumentation ist verfügbar here.
Um die API-Schlüssel anmelden zu öffnen Wetterkarte sind here
Openweathermap Web-API-Ressourcen zu erhalten auf den Endpunkten je mit unterschiedlichen JSON Blobs formatiert. Also, Parsing ist schrecklich ... Vermeiden Sie all diesen Ärger und erfinden Sie das Rad nicht neu, indem Sie eine externe Bibliothek benutzen - zB: PyOWM https://github.com/csparpa/pyowm – csparpa
@csparpa Danke, ich habe die Antwort aktualisiert! –
mmm Interessant. Wie drucke ich die Geschwindigkeit von {u'speed ': 3.1, u'deg': 220}. @paolo –