2009-09-24 108 views

cevap

39

, ben OpenWeatherMap kontrol etmek önermek:

OpenWeatherMap hizmeti herhangi kartografik ağı gibi hizmetler ve akıllı telefonlar uygulamaları için uygun serbest hava durumu verileri ve tahmin API sağlar. İdeoloji, OpenStreetMap ve Wikipedia'dan esinlenerek bilgisini herkes için ücretsiz ve erişilebilir hale getirmektedir. OpenWeatherMap mevcut hava durumu, hafta tahmini, yağış, rüzgar, bulutlar, hava İstasyonları ve diğerlerinden gelen veriler gibi geniş bir hava durumu verileri sağlar. Hava durumu verileri küresel Meteoroloji yayın servislerinden ve 40.000'den fazla hava istasyonundan alınmıştır.

Bu bir Python kitaplığı değil, kullanımı çok kolay çünkü JSON biçiminde sonuçlar alabilirsiniz.

İşte bir Requests kullanarak örnek:

>>> 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}} 

Ve burada PyOWM, OpenWeatherMap web API etrafında bir Python sarıcı kullanarak bir örnek:

>>> 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 

resmi API belgeleri here kullanılabilir.

API anahtarı here

+2

OpenWeatherMap web API kaynakları uç noktaları bağlı olarak farklı JSON blob'ları kullanılarak biçimlendirilir hava haritayı açmak için kaydolmak almak için. Yani, ayrıştırma korkunç ... Tüm bu güçlüklerden kaçının ve dış bir kütüphane kullanarak tekerleği yeniden icat etmeyin - örneğin: PyOWM https://github.com/csparpa/pyowm – csparpa

+0

@csparpa Teşekkürler, cevabı güncelledim! –

+0

mmm İlginç. Hızı {u'speed ': 3.1, u'deg': 220} 'dan nasıl yazdırabilirim. @ paolo –

İlgili konular