import requests
import json
import datetime
vilage_weather_url = "http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getVilageFcst?"
service_key = "서비스키 추가"
today = datetime.datetime.today()
print(today)
base_date = today.strftime("%Y%m%d") # "20230417" == 기준 날짜
print(base_date)
base_time = "2300" # 날씨 값
# 인천 구월동
nx = "55"
ny = "124"
payload = "serviceKey=" + service_key + "&" +\
"dataType=json" + "&" +\
"base_date=" + base_date + "&" +\
"base_time=" + base_time + "&" +\
"nx=" + nx + "&" +\
"ny=" + ny
# 값 요청
res = requests.get(vilage_weather_url + payload)
try:
items = res.json().get('response').get('body').get('items')
print(items)
except:
print("날씨 정보 요청 실패 : ", res.text)
data = dict()
data['date'] = base_date
weather_data = dict()
for item in items['item']:
# 기온
if item['category'] == 'TMP': # 1시간 기온 (℃)
weather_data['tmp'] = item['fcstValue'] # 예보 값
# 기상상태
if item['category'] == 'PTY': # 강수 형태 (코드값)
weather_code = item['fcstValue'] # 예보 값 - 0: 없음, 1: 비, 2: 비/눈, 3: 눈, 4: 소나기
if weather_code == '1':
weather_state = '비'
elif weather_code == '2':
weather_state = '비/눈'
elif weather_code == '3':
weather_state = '눈'
elif weather_code == '4':
weather_state = '소나기'
else:
weather_state = '없음'
weather_data['code'] = weather_code
weather_data['state'] = weather_state
data['weather'] = weather_data
data['weather']
{'tmp': '13', 'code': '0', 'state': '없음'}