공공 데이터 포털 (https://www.data.go.kr/) 에 들어가면 나오는 첫 화면이다.
여기서 자유롭게 회원가입을 하면 되며, 절차는 간단한 인적사항 기재와 휴대폰 인증으로 구성되어 있다.
데이터찾기 > 데이터목록 에 들어가서 원하는 키워드를 검색하면 여러 개의 자료가 나오는데,
그 중에서 오픈 API에서 이용할 수 있는 목록도 나타난다.
나는 API를 이용하여 공공데이터포털에서 주택거래 실거래가 데이터를 수집하고자 하므로 이를 눌러보자.
찾고자 하는 아파트매매 실거래 자료에 대한 오픈 API를 이용하기 위해서는 먼저 개발계정 신청을 해야한다.
활용 목적으로 원하는대로 간단히 적으면 자동 승인처리 된다.
신청이 승인되면 오픈 API를 이용할 수 있는 인증키 발급 여부와 인증키 내용은 "마이페이지"에서 확인할 수 있다.
여기서 인코딩된 인증키와 디코딩된 인증키(원본)이 있는데, 대부분 인코딩된 인증키가 사용될 것이므로 이를 사용하자.
XML 페이지 접속하기
인증키를 받았으면 이제 데이터가 있는 XML 파일에는 어떻게 접속할 수 있을까?
이를 알 수 있는 정보가 담긴 파일이 바로 같이 첨부된 '기술문서' 파일이다.
요 부분이 처음엔 좀 낯설어서 복잡해보이는데, 기술문서에 적힌 내용대로 입력하면 된다.
또한 오픈 API 상세내용을 보면 "아파트_매매_신고정보_조회_기술문서.hwp" 문서가 있는데, 이를 열어보면 아래와 같이 주택실거래가 데이터를 수집하는 데 필요한 절차가 자세히 기술되어 있다.
해당 자료를 찾아보면 오픈 API를 이용하여 아파트 매매 실거래가를 입수할 때 필요한 정보 목록을 보여준다.
1) 요청/응답 메시지 예제
요청메시지 |
http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTrade?LAWD_CD=11110&DEAL_YMD=201512&serviceKey=서비스키 |
기술문서에 있는 해당 데이터셋의 요청메시지 예제 url을 복사하고, 발급받은 인증키를 넣으면 아래와 같이 XML 파일 페이지에 접속할 수 있다. 참고로 인증키를 발급받고 바로 접속을 시도하니 인증키가 일치하지 않는다는 오류와 함께 접속할 수 없었는데, 이는 인증키가 아직 활성화되지 않은 것으로 몇 시간 뒤에 다시 접속해보면 해결된다.
그래도 안되면 디코딩된 인증키로도 시도해볼 수 있다고 함
OPEN API 에러 코드 별 조치방안
code | 코드값 | 설명 | 조치방안 |
01 | Application Error | 제공기관 서비스 제공 상태가 원활하지 않습니다. | 서비스 제공기관의 관리자에게 문의하시기 바랍니다. |
02 | DB Error | 제공기관 서비스 제공 상태가 원활하지 않습니다. | 서비스 제공기관의 관리자에게 문의하시기 바랍니다. |
03 | No Data | 데이터없음 에러 | |
04 | HTTP Error | 제공기관 서비스 제공 상태가 원활하지 않습니다. | 서비스 제공기관의 관리자에게 문의하시기 바랍니다. |
05 | service time out | 제공기관 서비스 제공 상태가 원활하지 않습니다. | 서비스 제공기관의 관리자에게 문의하시기 바랍니다. |
10 | 잘못된 요청 파라미터 에러 | OpenApi 요청시 ServiceKey 파라미터가 없음 | •OpenAPI 요청 값에서 ServiceKey 파라미터가 누락되었습니다. •OpenAPI 요청 URL을 확인하시기 바랍니다. |
11 | 필수 요청 파라미터가 없음 | 요청하신 OpenApi의 필수 파라미터가 누락되었습니다. | 기술문서를 다시 한번 확인하시어 주시기 바랍니다. |
12 | 해당 오픈 API 서비스가 없거나 폐기됨 | OpenApi 호출시 URL이 잘못됨 | •제공기관 관리자에게 폐기된 서비스인지 확인합니다. 폐기된 서비스가 아니면 개발가이드에서 OpenApi 요청 URL을 다시 확인하시기 바랍니다. |
20 | 서비스 접근 거부 | 활용승인이 되지 않은 OpenApi 호출 | •OpenApi활용 신청정보의 승인상태를 확인하시기 바랍니다. •활용신청에 대해 제공기관 담당자가 확인 후 ‘승인’이후부터 사용할 수 있습니다. •신청 후 2~3일이 소요되고 결과는 회원가입 시 등록한 e-mail로 발송합니다. |
22 | 서비스 요청 제한 횟수 초과 에러 | 일일 활용건수가 초과함 (활용건수 증가 필요) |
•OpenAPI 활용신청정보의 서비스 상세기능별 일일트랙픽량을 확인하시기 바랍니다. •개발계정의 경우 제공기관에서 정의한 트래픽을 초과하여 활용할 수 없습니다. •운영계정의 경우 변경신청을 통해서 일일트래픽량을 변경할 수 있습니다. |
30 | 등록되지 않은 서비스키 | 잘못된 서비스키를 사용하였거나 서비스키를 URL 인코딩하지 않음 | •OpenAPI 활용신청정보의 발급받은 서비스키를 다시 확인하시기 바랍니다. •서비스키 값이 같다면 서비스키가 URL 인코딩 되었는지 다시 확인하시기 바랍니다. |
31 | 기간 만료된 서비스키 | OpenApi 사용기간이 만료됨 (활용연장신청 후 사용가능) |
•OpenAPI 활용신청정보의 활용기간을 확인합니다. •활용기간이 지난 서비스는 이용할 수 없으며 연장신청을 통해 승인받은 후 다시 이용이 가능합니다. |
32 | 등록되지 않은 도메인명 또는 IP 주소 | 활용신청한 서버의 IP와 실제 OpenAPI호출한 서버가 다를 경우 | •OpenAPI활용신청정보의 등록된 도메인명이나 IP주소를 다시 확인합니다. •IP나 도메인의 정보를 변경하기 위해 변경신청을 할 수 있습니다. |
인증키대로 입력했는데 오류가 난다면 본인 기술문서에 위와 같은 에러 코드 별 조치 방안을 참고하면 된다.
2. 요청 메시지 명세
항목명(영문) | 항목명(국문) | 항목 크기 |
항목 구분* |
샘플 데이터 |
항목설명 |
LAWD_CD | 지역코드 | 5 | 1 | 11110 | 각 지역별 코드 행정표준코드관리시스템(www.code.go.kr)의 법정동코드 10자리 중 앞 5자리 |
DEAL_YMD | 계약월 | 6 | 1 | 201512 | 실거래 자료의 계약년월(6자리) |
serviceKey | 인증키 | 100 | 1 | 인증키 (URL Encode) |
공공데이터포털에서 발급받은 인증키 |
※ 항목구분 : 필수(1), 옵션(0), 1건 이상 복수건(1..n), 0건 또는 복수건(0..n)
3. 응답 메시지 명세
항목명(영문) | 항목명(국문) | 항목설명 | 항목 크기 |
항목 구분 |
샘플데이터 |
resultCode | 결과코드 | 결과코드 | 2 | 1 | 00 |
resultMsg | 결과메세지 | 결과메세지 | 50 | 1 | NORMAL SERVICE. |
Deal Amount | 거래금액 | 거래금액(만원) | 40 | 1 | 82,500 |
Build Year | 건축년도 | 건축년도 | 4 | 1 | 2015 |
Deal Year | 년 | 계약년도 | 4 | 1 | 2015 |
Dong | 법정동 | 법정동 | 40 | 1 | 사직동 |
Apartment Name | 아파트 | 아파트명 | 40 | 1 | 광화문풍림스페이스본(9-0) |
Deal Month | 월 | 계약월 | 2 | 1 | 12 |
Deal Day | 일 | 일 | 6 | 1 | 1 |
Area for Exclusive Use | 전용면적 | 전용면적(㎡) | 20 | 1 | 94.51 |
Jibun | 지번 | 지번 | 10 | 1 | 9 |
Regional Code | 지역코드 | 지역코드 | 5 | 1 | 11110 |
Floor | 층 | 층 | 4 | 1 | 11 |
Cancel Deal Type | 해제여부 | 해제여부 | 1 | 0 | O |
Cancel Deal Day | 해제사유발생일 | 해제사유발생일 | 8 | 0 | 21.01.27 |
REQ GBN | 거래유형 | 중개 및 직거래 여부 | 10 | 1 | 중개거래 |
Rdealer Lawdnm | 중개사소재지 | 시군구 단위 | 150 | 1 | 서울 서초구 |
Registration Date | 등기일자 | 등기일자 | 8 | 0 | 23.01.31 |
※ 항목구분 : 필수(1), 옵션(0), 1건 이상 복수건(1..n), 0건 또는 복수건(0..n)
※ 신규 추가 항목은 빨간색으로 표시해 두었음
아까 url에서 입력했던 이 링크를 요청 메시지 명세 표를 참고하여 분석해보면,
지역코드(법정동코드)인 LAWD_CD은 11110,
계약월인 DEAL_YMD은 2015년 12월 이며,
마지막 servicekey 요청변수에는 방금과 같이 인증키를 삽입하면 된다.
이렇게 공공데이터포털에서는 API를 이용하여 데이터를 수집하는 데 필요한 정보를 제공하고 있다.
API를 이용하여 데이터를 수집하려는 이용자는 필요한 정보를 공공데이터포텔이 요구하는 양식에 맞추어 관련 정보를 입력하면 공공데이터포털에서는 요청메시지와 이에 따른 응답 메시지를 제공한다.
그러나 이렇게 XML 페이지에서 데이터를 확인하는 것은 볼 수 있다시피 가독성이 없고 불편하기 때문에 데이터 분석에는 맞지 않다. 이를 위해서는 추가적으로 파이썬을 활용해 XML 파일을 크롤링한 후 데이터프레임에 저장하고 시각화 및 간단한 데이터 분석을 할 수 있다.
'Data Science' 카테고리의 다른 글
엑셀 csv 파일 한글 깨짐 오류 해결 방법 (0) | 2024.07.30 |
---|---|
API를 이용한 주택 실거래가 데이터 수집 및 분석 (0) | 2024.02.05 |