공공데이터 날씨

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

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다