오픈API 사용하기 with R - 오픈API 활용신청 (1/2)
*최초 작성일: 2023-01-04
다양한 데이터를 찾아보다가 오픈API로만 제공하는 데이터가 있어서 고민에 빠졌다...
사실 매너리즘 때문에 주변에 있는 사람 중에 가르쳐 줄 수 있는 사람을 찾다가
Youtube를 통해서 오픈API 사용법을 공부했다.
오픈API는 다양한 기관에서 제공하는데, 공공데이터포털(data.go.kr)에 접속하면
수많은 오픈API를 찾을 수 있다.
오픈API를 최대한 쉽게 설명하면, 특정 데이터(오픈API 제공 데이터)를 웹 형식으로 요청하면
XML, JSON 등의 형태로 제공(응답)받을 수 있는 데이터라고 할 수 있다.
(틀린 설명은 댓글 부탁드릴게요!)
오픈API를 사용하기 위해서는 웹브라우저(+인터넷)만 있으면 되지만,
많은 양의 데이터를 처리하거나 응답데이터의 전처리를 빠르게 하기 위해서는
다양한 언어를 사용할 수 밖에 없다(아닐수도 있음).
이번에는 독학으로 공부한 오픈API 사용법(with R)을 공유해보고자 한다!
*준비물: R, Rstudio, 공공데이터포털 계정
0. 오픈API 요청 구조
오픈API는 기본적으로 한 줄의 텍스트 형식으로 요청을 보내고 응답을 받는다.
모든 설명은 실제 사용한 경험을 바탕으로 작성한다!
요청문의 구조는 웹 주소와 같은 형태(아래 코드)를 지닌다.
https://apis.data.go.kr/1741000/HeatWaveShelter2/getHeatWaveShelterList2?serviceKey=인증키&변수1=값1&변수2=값2
구조를 조금 더 자세히 살펴보면, 오픈API별 Call Back URL과 변수, 값으로 구성된다.
Call Back URL은 제공 데이터마다 고유 주소를 가지며
serviceKey의 인증키는 개인이 오픈API를 신청하면 발급된다.
뒤에 붙은 변수는 각 오픈API마다 데이터 조회를 위해 필요한 변수들이
상이하므로 사용하려는 오픈API 설명문을 참고해야 한다.
이렇게 완성된 요청문은 웹브라우저 주소창에 입력하고 엔터를 누르면
호출된 값을 확인할 수 있다.
1. 오픈API 활용신청(인증키 발급)
공공데이터포털의 오픈API를 활용하기 위해서는 계정이 필요하다.
계정이 없다면 회원가입을 하고 데이터를 검색한다.
검색결과 목록 중 오픈API에서 원하는 데이터를 클릭한다.
예시에서는 전국무더위쉼터표준데이터를 사용한다.
활용신청은 화면 우측에 있는 활용신청 버튼을 클릭한 후 신청을 진행하고,
신청이 완료되면 마이페이지 > 오픈API > 개발계정에서 내역을 확인·조회할 수 있다.
인증키는 승인된 오픈API 목록을 클릭하면 확인할 수 있다.
인증키는 Encoding과 Decoding으로 구분되어 제공되므로 활용하는 환경에 맞춰 사용하면 되며
예시에서는 Encoding 인증키를 사용한다.
오픈API에는 하나의 데이터만 제공하기도 하지만, 상단 이미지의 아래를 보면 2개 이상의 서비스를 제공하기도 한다.
오픈API 활용에 필요한 정보는 오픈API 설명페이지 중 참고문서를 다운로드하여 확인하면 된다.
무더위쉼터 오픈API 중 [무더위쉼터 정보 조회]를 사용하기 위해 참고문서에서 Call Back URL과 요청 항목을 확인한다.
위 내용에서 인증키, 호출문서(xml,json), 페이지 위치, 페이지 당 요청 숫자 항목은 필수로 입력해야 한다.
예시로 요청문을 작성해보면 아래와 같이 작성이 가능하다.
http://apis.data.go.kr/1741000/HeatWaveShelter2/getHeatWaveShelterList2?ServiceKey=인증키&type=xml&pageNo=1&numOfRows=3&year=2014&equptype=001&areaCd=1111051000
여기서 year, areaCd, equptype은 필요에 따라 제거할 수 있으며,
조회데이터가 많을 경우 pageNo와 numOfRows 변경·요청을 통해 호출할 수 있다.
이렇게 호출한 데이터는 그대로 저장해서 사용해도 되지만, 데이터가 많거나
데이터 변환과 같은 처리를 하기 위해 R을 이용하여 반복문을 통해 호출과 전처리를 진행할 수 있다.