40

気象データをPythonプログラムにインポートするにはどうすればよいですか?

4

1 に答える 1

69

Google は天気 API を閉鎖したため、OpenWeatherMapを確認することをお勧めします。

OpenWeatherMap サービスは、Web やスマートフォン アプリケーションなどの地図作成サービスに適した無料の気象データと予測 API を提供します。Ideology は OpenStreetMap とウィキペディアに触発されており、情報を無料で誰でも利用できるようにしています。OpenWeatherMap は、現在の天気、週間予報、降水量、風、雲、気象観測所からのデータなど、さまざまな気象データを提供します。気象データは、世界の気象放送サービスと 40,000 を超える気象観測所から受信されます。

これは Python ライブラリではありませんが、JSON 形式で結果を取得できるため、非常に使いやすいです。

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

OpenWeatherMap Web API の Python ラッパーであるPyOWMを使用した例を次に示します。

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

公式の API ドキュメントはこちらから入手できます。

APIキーを取得するには、ここで天気図を開くためにサインアップしてください

于 2012-10-27T12:47:13.507 に答える