For Python, 비개발자와 파이썬 초보를 위한 상세한 설명
해보고나면 별 거 아니지만 항상 처음은 어렵다.
공공데이터포털에서 API를 활용해 데이터를 불러오는 것도 마찬가지이다.
별 거 아니지만, 인터넷에는 내가 원하는 만큼 상세하게 설명해놓은 글이 없어 한참을 헤맸던 것 같다.
공공데이터포털을 처음 사용하고자하는 비개발자들(나 같은 사람)이 헤매지 않길 바라며 작성하였다.
이 글에서 사용할 데이터는 '기상청_단기예보' 데이터이다.
※ 공공데이터포털을 사용하기 위해서는 로그인이 필요하므로 회원가입을 해야한다.
(링크) : https://www.data.go.kr/iim/api/selectAPIAcountView.do
우선 데이터를 사용하기 위해서는 '활용신청'을 해야한다.
사유를 대충 적고 신청한다. 웬만한 데이터는 신청하자마자 자동승인되어 바로 사용 가능하다.
'오픈API상세' 페이지 스크롤을 쭉 내리면 '샘플코드'가 있다.
여기서 Python을 클릭 후 코드를 복사해서 사용하는 IDE에 붙여넣는다.
https://gist.github.com/wildnakta/a031c4642e254717ad6392d74d26cb80
데이터를 호출하기 위해서는 반드시 입력해야 하는 파라미터들이 있다.
이 파라미터들을 입력하지 않을 경우, 데이터가 호출되지 않는다.
어떤 값들을 입력해야 하는지는 '요청변수(Request Parameter)'항목을 보면 자세하게 나와있다.
이 항목에서 입력해야 하는 값들의 종류와, 입력방식을 확인하고 위의 코드에 파라미터를 기입한다.
- '상세기능'에 나와있는'요청주소'나 '서비스URL'을 복사해서 붙여 넣으면 된다.
- 공공데이터포털에서는 한꺼번에 많은 데이터를 불러오거나 수없이 호출해서 부하를 주는 행위를 막기 위해 '개인 API 인증키'를 부여하고 있다. '마이페이지'로 들어가면 개인 API 인증키를 확인할 수 있다. 이 키를 복사하여 '개인 Service Key'에 입력하면 된다. 일반적으로 'Decoding'을 사용했을 때 동작하는 것 같다.
※ SerivceKey는 외부에 노출되지 않도록 주의해야 한다.
- 일반적으로 1 입력
- 몇 개의 행을 불러올건지 입력
- XML 혹은 JSON 입력, 우리는 JSON을 사용할 것이므로 JSON 입력
- 조회하고 싶은 데이터의 조건 및 범위 입력
※ 주의 : 이 글에서 사용한 '기상청_단기예보' 데이터의 경우 하루의 데이터만 제공하므로, 반드시 '발표일자(base_date)'에 오늘 날짜를 넣어야 한다. 그렇지 않으면 데이터가 호출되지 않는다.
Q. 예보지점 X좌표, 예보지점 Y좌표는 어떻게 아나요??
A. 데이터를 호출할 때, 고유코드(예. 지역코드, 좌표 등)가 필요한 경우가 있습니다. 이 경우 조회하고자 하는 데이터를 호출하기 위해 코드를 입력하는지 찾아야 합니다. 이 고유코드는 '참고문서'의 파일을 다운로드 받아서 확인하시면 찾을 수 있습니다.
- JSON 형식의 데이터를 불러왔다면, 보기 좋고 분석이 용이한 데이터프레임으로 변환한다.
https://gist.github.com/wildnakta/68b4301ff9eaf3c4553874f8da4411b3