Open API 활용

Jinny·2021년 7월 2일
0
post-thumbnail

Open API 검색

Open API는 대표적으로 공공데이터 포털(https://www.data.go.kr/index.do)에서 이용이 가능합니다.
코로나, 미세먼지, 날씨 등 다양한 데이터를 수집할 수 있습니다.
대기오염정보와 코로나19 예방접종 현황 데이터를 수집 해보겠습니다.
로그인 후 원하는 데이터를 검색하고 활용신청을 하면 이용이 가능합니다.

대기오염정보

기본정보-상세설명 버튼을 누르면 데이터에 대한 자세한 정보를 볼 수 있습니다.

아래와 같이 원하는 상세기능을 선택할 수 있습니다.
먼저 '측정소별 실시간 측정정보 조회'를 해보겠습니다.

측정소별 실시간 측정정보 조회

해당 기능을 선택 후 조회를 누르면 데이터의 요청변수, 출력변수, 샘플코드가 제공됩니다.
샘플코드가 옛날 버전이기 때문에 코드를 다음과 같이 수정해줘야 잘 동작합니다.

serviceKey는 아래 사진에서 일반 인증키(Encoding)을 가져와서 사용하시면 됩니다.

출력 결과에서 링크를 누르면 xml형태의 데이터를 확인할 수 있습니다.

items태그 안에 상세 정보가 담긴 item태그 여러 개가 있습니다.
상세 정보를 데이터프레임형태로 출력해 봅시다.


문자열에서 xml를 파싱하고 dictionary에 담은 후 Dataframe에 값을 추가합니다.

위와 같이 '측정소별 실시간 측정정보'를 수집할 수 있습니다.

통합대기환경지수 나쁨 이상 측정소 목록조회

'통합대기환경지수 나쁨 이상 측정소 목록조회'도 앞선 방식과 크게 다르지 않습니다.


요청 url과 태그명 변경을 통해 쉽게 데이터 수집이 가능합니다.

코로나19

코로나19 시, 도 발생 현황

코로나19 관련 예제를 한 가지 더 실습해보겠습니다. 방법은 앞선 방식과 다르지않습니다.
https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15043378의 Document를 참고해서 요청 url과 요청변수, 응답변수만 변경해주면 '코로나19 시, 도 발생 현황' 데이터 수집이 가능합니다.

정리

공공데이터포털의 대기오염정보, 코로나19 Open API를 이용하여 관련 데이터를 수집해보았습니다. 과정을 간단히 정리하면 다음과 같습니다.
1, 공공데이터포털(https://www.data.go.kr/index.do)에 로그인하고 원하는 Open API를 활용신청한다.
2, 샘플코드와 참고문서를 활용하여 요청url, 요청변수, 응답변수를 설정한다.
3, xml, json형태의 데이터를 데이터프레임 형태로 출력한다.

profile
AI, 데이터 사이언스 공부

0개의 댓글