문제

날씨 데이터를 Python 프로그램으로 가져 오는 방법은 무엇입니까?

도움이 되었습니까?

해결책

Google은 날씨 API를 종료 했으므로 체크 아웃하는 것이 좋습니다. Openweathermap:

OpenWeatherMap 서비스는 무료 기상 데이터를 제공하고 웹 및 스마트 폰 애플리케이션과 같은지도 제작 서비스에 적합한 API를 예측합니다. 이데올로기는 OpenStreetMap과 Wikipedia에서 영감을 얻어 모든 사람이 무료로 제공하고 이용할 수 있습니다. OpenWeatherMap은 현재 날씨, 주 예측, 강수량, 바람, 구름, 기상 관측소의 데이터 등과 같은 다양한 날씨 데이터를 제공합니다. 기상 데이터는 글로벌 기상 방송 서비스와 4 만 명 이상의 기상 관측소에서받습니다.

Python 라이브러리는 아니지만 JSON 형식으로 결과를 얻을 수 있기 때문에 사용하기 쉽습니다.

다음은 사용하는 예입니다 요청:

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

그리고 여기에 사용 된 예입니다 pyowm, 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

공식 API 문서를 사용할 수 있습니다 여기.

API 키가 오픈 날씨지도에 가입하려면 여기

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top