데이터 분석/공공 데이터 활용편

공공데이터와 API 사용하기 1 - (인증키 발급 ~ URL 완성하기)

용혀니 2020. 7. 27. 18:40

안녕하세요. 용용입니다🐲🐲

인공지능/빅데이터 시대가 도래하면서 공공데이터의 중요도가 점점 커지고 있습니다. 

이번에는 공공데이터 포털에서 API를 이용해 데이터를 받는 방법을 소개하려고 합니다.

 


 

 

공공데이터란?

" 정부 및 지방자치단체 등 공공기관이 보유·관리하는 데이터로써

국민이 자유롭게 활용할 수 있도록  다양한 형태로 개방·제공하는 데이터"입니다.

 

서울시 미세먼지 ,  코로나 19 병원 정보 , 아파트 매매 데이터 등 다양한 종류의 공공데이터가 존재합니다.

이러한 공공데이터는 반드시 기계판독이 가능한 형태로 제공됩니다. (CSV, XML , json 등) 

 


공공데이터 다운로드 프로세스 

 

1. 공공데이터 포털 접속 및 로그인 (https://www.data.go.kr/)

오픈 API를 사용하기 위해서는 로그인을 해야 합니다. 회원가입을 해주세요.

.

.

2. 원하는 키워드나 자료를 검색 

요즘 가장 핫이슈인 '코로나'를 검색해 보았습니다. 

 

공공데이터 포털
코로나 검색 결과 

 

 >> 검색 결과, 파일 데이터 22건, 오픈 API 7건이 검색되었습니다!

공공데이터는 파일 데이터, 오픈 API , 표준 데이터 형태로 제공됩니다. 어떤 형태로 데이터를 다운로드할지 선택합니다. 

 

3. 파일 데이터 형태의 다운로드

 

파일데이터 다운로드

 

파일데이터 다운로드는 정말 쉽습니다.  

'코로나 19 병원정보 현황 데이터'가 csv파일로 제공되고 있군요~ 클릭하여 다운로드합니다. 

 

 

데이터 다운로드
'코로나 19 병원정보현황' 데이터 예시

 

파일 데이터를 다운로드하게 되면 예시처럼 CSV 형태로 데이터가 제공됩니다. 

 

4. 오픈 API 활용

다음은 오픈 API 형태로 데이터 받는 법을 알아봅시다. 

'보건 복지부_코로나 19 감염_현황' 데이터가 XML형태의 API로 제공되고 있습니다. 

 

 

 

4 - 1. 참고 문서 다운로드 및 활용 신청하기

활용신청에 앞서, 데이터와 함께 제공되는 참고 문서를 다운로드합니다.

참고 문서에는 API 활용에 대한 매뉴얼이 있기 때문에 오픈 API를 제대로 활용하기 위해서는 꼭 다운로드하여야 합니다.

 

참고문서 다운로드

 

 

4 - 2. API 활용 신청하기 (개발계정 신청)

활용신청을 누른 후,  활용 목적에 맞게 신청서를 기입합니다. 

심의 여부가 '자동승인'인 경우에는 활용신청과 동시에 자동으로 승인되어 인증키가 곧바로 발급됩니다. (마이페이지 확인)

그러나 인증키를 등록하는 시간이 1~2시간 정도 소요되기 때문에, 그 이후부터 데이터를 파싱 할 수 있습니다.

(심의 승인인 경우에는 2~3일 정도 시간이 소요됩니다.)  

 

 

상세 기능 정보를 보면 일일 트래픽이 1000으로 설정되어 있습니다. 1000회 조회를 하면 오늘은 더 이상 사용할 수 없게 됩니다.

더 많은 조회가 필요하다면 추가 신청과 승인절차를 기다리면 사용할 수 있게 됩니다.

 

4 - 3. 마이페이지 > 오픈 API > 개발계정 API 인증키 확인

활용신청이 완료되었다면, 마이페이지에서 승인 여부를 확인하고, '보건복지부_코로나 19 감염_현황'을 클릭합니다.

(저는 기존에 신청해 놓은 API가 있어서 4건이라 뜨고 있네요.)

 

 

 

신청이 정상적으로 완료되면 고유하게 받은 인증키 값을 확인합니다. 

End Point는 API를 요청하는 주소입니다. 

 

 

4 - 4. 데이터 미리 보기

신청한 데이터가 어떤 형식으로 제공되는지 미리 보기 형태로 확인해볼 수 있습니다.  

(지금 막 신청했다면, 인증키 권한 등록으로 인해  미리보기가 뜨지 않을 수 있어요.)

 

 

미리보기를 하게 되면, 아래 사진처럼 태그로 이루어진  XML 형태의 데이터가 제공된다는 것을 알 수 있습니다. 

각 태그들의 의미는 참고 문서에 자세히 설명되어 있습니다. 

 

 

4 - 5. 참고문서 살펴보기 

 

 

 

API 사용자가 서버에 요청을 보내게 되면, 요청에 대한 응답으로 데이터를 받아 올 수 있습니다.

참고 문서 안에 API를 활용하는 방법을 설명해 놓은 상세 기능 명세서가 존재합니다.

Call Back URL 이란 요청을 보낼 주소를 의미합니다. 

 

 

 

요청 메시지 명세 페이지에는 Call Back URL 뒤에 붙여줄 요청 조건들에 대한 정보입니다. 

최종적인 URL은 다음과 같은 양식입니다.

ex) http:// 서버 주소 ? 조건 1=값 1 & 조건 2=값 2 & 조건 3....

 

 

 

최종적인 URL을 완성하고 데이터를 요청하면, 다음 변수들을 포함한 xml형태의 데이터를 응답받습니다.

(미리 보기 데이터 참고)

 

4 - 6. 요청 URL 완성하기 

최종적인 요청 URL의 구조는 다음과 같습니다. 

http:// 서버 주소 + + 조건 1=값 1 & 조건 2=값 2&...

?를 기점으로 앞부분은 서버 주소(callbackURL) , 뒷부분은 요청 조건에 대한 정보를 나타냅니다. 

&는 조건들을 나열할 때 쓰는 문자입니다. 

'자신이 받은 API 인증키'와 '요청 조건'을 결합하여 url을 완성해 봅시다. 

 

< 완성된 요청 URL >

http://openapi.data.go.kr/openapi/service/rest/Covid19/getCovid19InfStateJson?serviceKey=자신이 받은 인증키&numOfRows=10&startCreateDt=20200310&endCreateDt=20200315&

 

완성된 요청 URL을 주소창에 입력해보면, 미리보기와 같은 형태로 데이터를 볼 수 있습니다.

(조건값을 바꿔보면서 데이터를 확인해보세요!)

 

 

이상으로 API를 이용하기 위한 URL완성이 끝났습니다.

다음 시간에는 완성된 URL을 이용하여 데이터를 파싱 하는 방법을 배워봅시다!!!