on
공공 데이터 포털에서 요소수 API로 데이터 수집하기
공공 데이터 포털에서 요소수 API로 데이터 수집하기
공공 데이터 포털
이번에는 데이터를 어떻게 수집하는지 다루려 한다. 한국에서 공공 데이터를 제공하는 사이트들이 많다. 그 중에서도 공공데이터포털이라는 사이트를 활용한다. 들어가보면 정말 많은 데이터를 제공한다. 오픈 API 뿐만 아니라 파일데이터, 표준데이터 등도 제공하니 자신에게 필요한 데이터가 있는지 찾아보기 바란다. 이 중에서 우리가 관심 있는 것은 요소수에 대한 데이터다.
https://www.data.go.kr/data/15095040/openapi.do
활용 신청하기
회원가입과 로그인을 마치고 오른쪽 상단에 활용신청 버튼을 클릭하여 신청을 진행한다. 신청하고 나면 곧 바로 사용 가능하다.
공공 API 사용하여 데이터 얻기
이 파트는 조금 어렵다. 중간에 있는 버튼인 Open API 명세 확인 가이드를 눌러보면 사용 방법에 대한 힌트를 얻을 수 있다. 근데 내가 배경지식이 깊지 않아서 그런가 솔직히 너무 불친절하다는 느낌을 받았다. 아무튼 사용법은 그렇게 복잡하지 않다.
재료 수집 단계
1. Base URL 확인
첫번째는 Base URL을 알아야한다. 위의 사진에서 Base URL은 api.odcloud.kr/api 이다.
2. API 목록에서 GET 호출 주소
그 다음은 API 목록에 있는 GET 호출 주소를 확인한다. 위의 사진에서 호출 주소는 /uws/v1/inventory 이다.
3. 인증키 설정
3.1. query name
인증키를 입력할수 있는 query name을 알아낸다. serviceKey가 query name이다.
3.2 인증키
인증키는 마이페이지에서 API 상세로 들어가면 위와 같은 화면을 볼 수 있다. 여기서 일반 인증키 (Decoding)을 사용한다.
4. 추가 query
마지막으로 추가적인 query가 필요하다. api를 get으로 호출하면 xml이나 json 형식으로 응답하는데, 한번의 응답에 몇개의 주유소 결과를 볼 것인지, 만약 결과를 100개씩 받는다면 여러번 api를 호출해야하는데 몇번째 페이지의 응답을 받을 것인지 세팅해야한다. 여기서 page와 perPage를 활용한다.
조립 단계
모든 재료를 다 모았다면 이제 조립을 하는 단계다. 아래 처럼 조립하도록 한다.
여기서 대체로 같을 태지만, serviceKey에는 자신의 serviceKey를 입력해야한다는 점이다. 위의 이미지에서 1234567890에 해당하는 부분이다. 결과적으로 아래와 같은 링크를 만들면 된다. 만들었다면 그 주소를 브라우져의 주소창에 입력해보자.
기본적으로 주소창에 무언가를 입력하는 것은 get request를 날리는 것과 같다. 자신이 만든 주소를 입력했을때 위와 같은 결과를 볼 수 있다면 성공이다. 이는 자바스크립트나 파이썬에서 get request를 날렸을때, 위의 데이터를 얻을수 있다는 것을 의미한다.
다음 포스팅에서는 NodeJS 서버에서 데이터를 수집하고, DB에 적재하는 내용까지 다루려한다.
精進.
from http://yoondevel.tistory.com/4 by ccl(A) rewrite - 2021-12-19 09:01:01