data.go.kr 가입 및 API 사용신청 다른분들 글도 많으니 생략.
오픈API 명 : (신)동네예보정보조회서비스
먼저 초단기실황정보(현재날씨정보) 으로 테스트 코드 작성
정리가 안되어 있어도 이해부탁드립니다.
URI정보
# # 초단기 실황
# ForecastGrib
# # 초단기 예보
# ForecastTimeData
# # 동네 예보
# ForecastSpaceData
테스트 코드 (초단기실황)
import requests, json
import datetime
## data.go.kr
api_host = 'http://newsky2.kma.go.kr/service/SecndSrtpdFrcstInfoService2'
api_key = '발급받은 인증키'
## 좌표(제공되는 엑셀에서 확인 가능)
nx = 60; ny = 127
def nowdate():
return {'basetimedate':datetime.datetime.now().strftime('%Y%m%d%H') + '00',
'base_date':datetime.datetime.now().strftime('%Y%m%d'),
'base_time':datetime.datetime.now().strftime('%H') + '00' }
def ForecastReq(ftype, uri):
ver_data = verchck(ftype)
url = api_host + uri
data = {'serviceKey':api_key,
'base_date':nowdate().get('base_date'),
'base_time':nowdate().get('base_time'),
'nx':nx, 'ny':ny,
'numOfRows':999,
'_type':'json'}
res = requests.get(url, params=data)
res_data = res.json()
for t in res_data['response']['body']['items']['item']:
print(t['baseDate'],
t['baseTime'],
t['category'],
t['obsrValue'])
def Forecast(ftype):
if ftype == "grib":
uri = '/ForecastGrib'
ForecastReq('ODAM', uri)
else:
pass
print(Forecast('grib'))