CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·MaClien ·방탄소년당 ·일본산당 ·자전거당 ·개발한당 ·이륜차당 ·소시당 ·나스당 ·안드로메당 ·AI당 ·걸그룹당 ·영화본당 ·골프당 ·클다방 ·사과시계당 ·디아블로당 ·패스오브엑자일당 ·가상화폐당 ·노키앙 ·IoT당 ·축구당 ·젬워한당 ·노젓는당 ·창업한당 ·윈폰이당 ·리눅서당 ·육아당 ·소셜게임한당 ·여행을떠난당 ·바다건너당 ·물고기당 ·라즈베리파이당 ·캠핑간당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·콘솔한당 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·키보드당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·MTG한당 ·소리당 ·적는당 ·방송한당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

기타 [파이썬 스크립트] 방학맞이 기상청 날씨 일별 조회하기. 6

11
2022-01-03 09:51:39 175.♡.223.183
sagein

초등학교(국민학교) 다닐때는 방학에 일기를 작성해서 학교에 제출했는데

매일매일 쓰는 일기를 보통 방학 끝나기 일주일전 쯤부터 30~40일치 일기를

쓰게 되었죠.. 그때 가장 난감한게 그날의 날씨. 

지금도 방학에 일기를 쓰는지는 모르겠지만 기상청에서 제공하는 날씨 자료를 받아봅시다.


????.png


data.go.kr 에서 "기상청_지상(종관, ASOS) 일자료 조회서비스" 검색한다음 활용 신청을 합니다.


요청변수(Request Parameter)

항목명(국문) 항목명(영문) 항목크기  항목구분 샘플데이터   항목설명
서비스키 ServiceKey 4 필수 - 공공데이터포털에서 받은 인증키
페이지 번호 pageNo 4 옵션 1 페이지번호 Default : 1
한 페이지 결과 수 numOfRows 4 옵션 10 한 페이지 결과 수 Default : 10
응답자료형식 dataType 4 옵션 XML 요청자료형식(XML/JSON) Default : XML
자료 코드 dataCd 4 필수 ASOS 자료 분류 코드(ASOS)
날짜 코드 dateCd 3 필수 DAY 날짜 분류 코드(DAY)
시작일 startDt 8 필수 20100101 조회 기간 시작일(YYYYMMDD)
종료일 endDt 8 필수 20100601 조회 기간 종료일(YYYYMMDD) (전일(D-1)까지 제공)
지점 번호 stnIds 3 필수 108 종관기상관측 지점 번호 (활용가이드 하단 첨부 참조)


 요청변수를 적절하게 넣으면 원하는 기간의 데이터, 관측지점마다 다른 데이터를 받을 수 있습니다.


import requests
import json

def getWthrDataList(date):
    url = 'http://apis.data.go.kr/1360000/AsosDalyInfoService/getWthrDataList'
    params = {'serviceKey':  '발급받키를 입력하세요.', # 서비스코드
    'numOfRows':'1', # 한페이지 결과수
    'pageNo': '1', # 페이지번호
    'dataType': 'JSON', # 응답자료형식
    'dataCd': 'ASOS',  # 자료코드
    'dateCd': 'DAY',  # 날짜코드
    'startDt': date,  # 조회 기간 시작일(YYYYMMDD)
    'endDt': date,  # 조회 기간 종료일(YYYYMMDD) (전일(D-1)까지 제공)
    'stnIds': '108'  # 종관기상관측 지점 번호 (108 서울)
    }

   response = requests.get(url, params=params) # Get 으로 requests를 요청합니다.
   result = json.loads(response.text) # 받은 데이터를  json으로 파싱합니다.
   items = result['response']['body']['items']['item'] 
  
 for item in items:
      print(item) # 받은 데이터를 프린트합니다.


if __name__ == '__main__':
 getWthrDataList("20210601")


결과

{'stnId': '108', 'stnNm': '서울', 'tm': '2021-06-01', 'avgTa': '20.2',  'minTa': '15.9',  'minTaHrmt': '811', 'maxTa': '23.9',  'maxTaHrmt': '1311',  'mi10MaxRn': '1.3',  'mi10MaxRnHrmt': '754',  'hr1MaxRn': '2.3',  'hr1MaxRnHrmt': '712',  'sumRnDur': '4.42',  'sumRn': '3.2',  'maxInsWs': '9.0',  'maxInsWsWd': '290',  'maxInsWsHrmt': '527',  'maxWs': '5.4',  'maxWsWd': '320',  'maxWsHrmt': '533',  'avgWs': '2.2',  'hr24SumRws': '1863',  'maxWd': '50',  'avgTd': '15.4',  'minRhm': '57',  'minRhmHrmt': '1322',  'avgRhm': '74.6',  'avgPv': '17.5',  'avgPa': '1003.9',  'maxPs': '1016.5',  'maxPsHrmt': '710',  'minPs': '1011.5',  'minPsHrmt': '221',  'avgPs': '1013.8',  'ssDur': '14.6',  'sumSsHr': '1.9',  'hr1MaxIcsrHrmt': '1000',  'hr1MaxIcsr': '2.03',  'sumGsr': '13.01',  'ddMefs': '',  'ddMefsHrmt': '',  'ddMes': '',  'ddMesHrmt': '', 'sumDpthFhsc': '',  'avgTca': '8.1',  'avgLmac': '2.1',  'avgTs': '21.1',  'minTg': '13.9',  'avgCm5Te': '21.2',  'avgCm10Te': '20.5',  'avgCm20Te': '20.1',  'avgCm30Te': '19.7',  'avgM05Te': '19.0', 'avgM10Te': '17.5',  'avgM15Te': '16.8',  'avgM30Te': '14.2',  'avgM50Te': '13.6',  'sumLrgEv': '2.7', 'sumSmlEv': '3.9',  'n99Rn': '0.0',  'iscs': '{비}0433-0443. {비}0515-{비}{강도0}0600-0835. {박무}0755-0820. {비}1530-1625. {박무}2245-{박무}{강도0}2400-', 'sumFogDur': '' } 

 

항목명(국문)
항목명(영문)
항목크기
항목구분
샘플데이터  항목설명
결과코드 resultCode 2 필수 00 결과코드
결과메시지 resultMsg 50 필수 NORMAL_SERVICE 결과메시지
한 페이지 결과 수 numOfRows 4 필수 10 한 페이지 결과 수
페이지 번호 pageNo 4 필수 1 페이지번호
전체 결과 수 totalCount 4 필수 3 전체 결과 수
데이터 타입 dataType 4 필수 XML 응답자료형식 (XML/JSON)
시간 tm 10 필수 2010-01-01 일시
지점 번호 stnId 3 필수 108 종관기상관측 지점 번호
1.5m 지중온도 avgM15Te 6 옵션 9.2 1.5m 지중온도
9-9강수 n99Rn 6 옵션 1.1 9-9강수
최저 해면기압 minPs 6 옵션 1019.4 최저 해면기압
평균 상대습도 avgRhm 6 옵션 48 평균 상대습도
평균 상대습도 시각 minRhmHrmt 4 옵션 1137 평균 상대습도 시각
최대 순간 풍속 풍향 maxInsWsWd 6 옵션 34 최대 순간 풍속 풍향
평균 지면온도 avgTs 6 옵션 -4.6 평균 지면온도
최대 순간풍속 시각 max_ins_ws_hrmt 4 옵션 105 최대 순간풍속 시각
일 최심적설 시각 ddMesHrmt 4 옵션 0 일 최심적설 시각
최고 해면기압 시각 maxPsHrmt 4 옵션 5 최고 해면기압 시각
평균 증기압 avgPv 6 옵션 1.7 평균 증기압
최소 상대습도 minRhm 6 옵션 30 최소 상대습도
합계 일조 시간 sumSsHr 6 옵션 7.3 합계 일조 시간
가조시간 ssDur 6 옵션 9.6 가조시간
평균 해면기압 avgPs 6 옵션 1021.7 평균 해면기압
최대 풍속 maxWs 6 옵션 3.4 최대 풍속
평균 5cm 지중온도 avgCm5Te 6 옵션 -3.4 평균 5cm 지중온도
최저 초상온도 minTg 6 옵션 -13 최저 초상온도
최대 풍속 풍향 maxWsWd 6 옵션 7 최대 풍속 풍향
합계 소형증발량 sumSmlEv 6 옵션 0.6 합계 소형증발량
평균 전운량 avgTca 6 옵션 3.8 평균 전운량
1시간 최다 일사량 hr1MaxIcsr 6 옵션 1.51 1시간 최다 일사량
평균 이슬점온도 avgTd 6 옵션 -16.9 평균 이슬점온도
최고 해면 기압 maxPs 6 옵션 1024.4 최고 해면 기압
평균 20cm 지중온도 avgCm20Te 6 옵션 -0.7 평균 20cm 지중온도
일 최심적설 ddMes 6 옵션 2.2 일 최심적설
최저 기온 minTa 6 옵션 -12.7 최저 기온
최저 해면기압 시각 minPsHrmt 6 옵션 2356 최저 해면기압 시각
5.0m 지중온도 avgM50Te 6 옵션 17.2 5.0m 지중온도
최고 기온 maxTa 6 옵션 -3.6 최고 기온
풍정합 hr24SumRws 4 옵션 1608 풍정합
3.0m 지중온도 avgM30Te 6 옵션 15.2 3.0m 지중온도
평균10cm 지중온도 avgCm10Te 6 옵션 -1.7 평균10cm 지중온도
0.5m 지중온도 avgM05Te 6 옵션 2.4 0.5m 지중온도
1시간 최다 일사량 시각 hr1MaxIcsrHrmt 4 옵션 1100 1시간 최다 일사량 시각
최대 순간풍속 maxInsWs 6 옵션 7.5 최대 순간풍속
평균 전운량 avgTca 6 옵션 2.3 평균 전운량
평균 30cm 지중온도 avgCm30Te 6 옵션 0.5 평균 30cm 지중온도
1.0m 지중온도 avgM10Te 6 옵션 6.1 1.0m 지중온도
합계 일사 sumGsr 6 옵션 8.63 합계 일사
최대 풍속 시각 maxWsHrmt 4 옵션 2350 최대 풍속 시각
평균 현지기압 avgPa 6 옵션 1010.6 평균 현지기압
평균 풍속 avgWs 6 옵션 1.9 평균 풍속
일기현상 iscs 1000 옵션 -{박무}-{박무}{강도0}0300-0515. 일기현상
안개 계속 시간 sumFogDur 6 옵션 0.67 안개 계속 시간
합계 대형증발량 sumLrgEv 6 옵션 2.8 합계 대형증발량
합계 3시간 신적설 sumDpthFhsc 6 옵션 1.6 합계 3시간 신적설
일 최심신적설 ddMefs 6 옵션 25.8 일 최심신적설
일 최심신적설 시각 ddMefsHrmt 4 옵션 1355 일 최심신적설 시각
일강수량 sumRn 6 옵션 0 일강수량
1시간 최다 강수량 시각 hr1MaxRnHrmt 4 옵션 1441 1시간 최다 강수량 시각
1시간 최다강수량 hr1MaxRn 6 옵션 0.7 1시간 최다강수량
10분 최다강수량 시각 mi10MaxRnHrmt 4 옵션 1459 10분 최다강수량 시각
10분 최다 강수량 mi10_max_rn 6 옵션 0.5 10분 최다 강수량
평균 기온 avgTa 6 옵션 -7.6 평균 기온
최저 기온 시각 minTaHrmt 6 옵션 -12.7 최저 기온
최대 기온 시각 maxTaHrmt 4 옵션 1501 최대 기온 시각
최대 풍향 maxWd 6 옵션 70 최대 풍향
평균 중하층운량 avgLmac 6 옵션 2.3 평균 중하층운량


json으로 나온 데이터에서 위의 표를 보고 원하는 데이터를 한번더 정리해서 뽑아내면 끝!

이제 자녀분들의 일기에 그날 기압, 풍속, 강수량등 다양한 정보를 넣을 수 있습니다!


아래 코드는 지역별 지점 코드입니다. 맞는 지역을 요청변수에 넣어 쓰시면되요.

지점 지점명 관리관서 지점 지점명 관리관서
90 속초 강원지방기상청 212 홍천 춘천기상대
93 북춘천 춘천기상대 216 태백 강원지방기상청
95 철원 강원지방기상청 217 정선군 강원지방기상청
98 동두천 수도권기상청 221 제천 청주기상지청
99 파주 수도권기상청 226 보은 청주기상지청
100 대관령 강원지방기상청 232 천안 대전지방기상청
101 춘천 춘천기상대 235 보령 대전지방기상청
102 백령도 수도권기상청 236 부여 대전지방기상청
104 북강릉 강원지방기상청 238 금산 대전지방기상청
105 강릉 강원지방기상청 239 세종 대전지방기상청
106 동해 강원지방기상청 243 부안 전주기상지청
108 서울 수도권기상청 244 임실 전주기상지청
112 인천 수도권기상청 245 정읍 전주기상지청
114 원주 강원지방기상청 247 남원 전주기상지청
115 울릉도 대구지방기상청 248 장수 전주기상지청
119 수원 수도권기상청 251 고창군 전주기상지청
121 영월 강원지방기상청 252 영광군 광주지방기상청
127 충주 청주기상지청 253 김해시 부산지방기상청
129 서산 홍성기상대 254 순창군 전주기상지청
130 울진 안동기상대 255 북창원 창원기상대
131 청주 청주기상지청 257 양산시 울산기상대
133 대전 대전지방기상청 258 보성군 광주지방기상청
135 추풍령 청주기상지청 259 강진군 목포기상대
136 안동 안동기상대 260 장흥 목포기상대
137 상주 대구지방기상청 261 해남 목포기상대
138 포항 대구지방기상청 262 고흥 광주지방기상청
140 군산 전주기상지청 263 의령군 창원기상대
143 대구 대구지방기상청 264 함양군 창원기상대
146 전주 전주기상지청 266 광양시 광주지방기상청
152 울산 울산기상대 268 진도군 목포기상대
155 창원 창원기상대 271 봉화 대구지방기상청
156 광주 광주지방기상청 272 영주 안동기상대
159 부산 부산지방기상청 273 문경 안동기상대
162 통영 부산지방기상청 276 청송군 대구지방기상청
165 목포 목포기상대 277 영덕 대구지방기상청
168 여수 광주지방기상청 278 의성 대구지방기상청
169 흑산도 광주지방기상청 279 구미 대구지방기상청
170 완도 목포기상대 281 영천 대구지방기상청
172 고창 전주기상지청 283 경주시 대구지방기상청
174 순천 광주지방기상청 284 거창 울산기상대
177 홍성 홍성기상대 285 합천 울산기상대
184 제주 제주지방기상청 288 밀양 울산기상대
185 고산 제주지방기상청 289 산청 창원기상대
188 성산 제주지방기상청 294 거제 부산지방기상청
189 서귀포 제주지방기상청 295 남해 부산지방기상청
192 진주 창원기상대      
201 강화 인천기상대      
202 양평 수도권기상청      
203 이천 수도권기상청      
211 인제 강원지방기상청      


출처 : data.go.kr
sagein 님의 게시글 댓글
SIGNATURE
한때는 C# 개발자..
서명 더 보기 서명 가리기
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [6]
Azure
IP 14.♡.28.147
01-03 2022-01-03 12:08:33
·
정말 세상이 좋아졌다 하고 느끼는 것.. 방학 기간 전체의 날씨를 조회해버리다니..
우히헹
IP 223.♡.23.94
01-03 2022-01-03 14:04:42
·
포스팅 보면서 업무 아이디어 얻는데 간접적인 도움이 많이 됩니다
앞으로도 많은 글 부탁드려요☺️
하달탱
IP 122.♡.177.233
01-03 2022-01-03 19:00:14
·
감사합니다^^
happywolf
IP 223.♡.23.10
01-04 2022-01-04 13:42:01
·
애들이랑 같이 프로그램 만들어봐야겠네요. 감사함니다!
볼라벤
IP 121.♡.99.96
01-05 2022-01-05 15:05:49
·
솔직히 지금 생각해보면 날씨 그거 아무렇게나 썼어도 아무것도 아닌건데..ㅠㅠ
Zahnarzt
IP 14.♡.253.195
01-09 2022-01-09 22:18:07
·
옛날에 도서관 가서 지난날짜 신문의 일기예보를 보면서 일기를 제조했던 기억이 있네요...ㅋㅋ
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.