상세 컨텐츠

본문 제목

국토교통부 전월세 실거래가 공공 API 호출해서 웹페이지에 띄워보기(1-기본세팅)

코딩공부/국토교통부 오픈 API 활용 개발

by 취미부자 직장인 고라니 2021. 6. 10. 20:00

본문

안녕하세요

 

오늘은 예전에 소개해드린 적이 있던 공공 API 중 하나를 호출해서

웹페이지에 정보를 띄워보려고 합니다~

 

 

일단 파이썬과 플라스크를 이용할 건데요

 

제가 사용하는 플라스크 웹개발 기본 세팅을 진행해보겠습니다

 

파이참을 실행하고 새로운 프로젝트를 만들게요

 

플라스크의 기본 디렉토리 구조도 세팅해주겠습니다

 

api_test/static                               // css 및 미디어 등 저장 위치(디렉토리)
api_test/templates                       // html 파일 저장 위치(디렉토리)
api_test/templates/index.html    // 홈페이지 접속 첫 화면
api_test/app.py                            // flask를 활용한 코딩 파일

 

그럼 이제 index.html과 app.py에 시작 코드를 입력하겠습니다

 

index.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        <title>전월세 실거래가 테스트</title>

        <!-- bootstrap -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
              integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
              crossorigin="anonymous">
        
        <!-- jQuery, popper, bootstrap -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
                integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
                crossorigin="anonymous"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
                integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
                crossorigin="anonymous"></script>

    </head>
    <body>
    
    </body>
</html>

 

app.py

from flask import Flask, render_template, jsonify, request
app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')

if __name__ == '__main__':
    app.run('0.0.0.0', port=5000, debug=True)

 

 

마지막으로 라이브러리를 설치하겠습니다

환경설정으로 들어가서 아래 라이브러리를 설치해줍니다

 

flask
pymongo
requests
bs4

 

이렇게하면 이제 개발을 위한 초기 세팅이 완료되었습니다

 

그럼 이제 api 호출 테스트를 한 번 해볼게요

 

이번에 제가 사용할 공공 api는 공공데이터포털에서 '국토교통부_아파트 전월세 자료' API인데요

 

여기서 전월세 실거래가를 호출해보려고 합니다

 

먼저 공공데이터포털에 접속해 '국토교통부_아파트 전월세 자료' API의 활용신청을 해볼게요

 

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

 

 

 

활용신청을 하고 승인을 받았다면 바로 진도를 넘어가볼게요

 

 

 

국토교통부_아파트 전월세 자료 API의 요청메시지는 다음과 같습니다

 

http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptRent?LAWD_CD=[법정동코드]&DEAL_YMD=[계약연월]&serviceKey=[서비스키]

 

여기서 저희가 입력해야 하는 코드가 3가지가 있는데요

LAWD_CD -> [법정동코드] [예시 : 11110 (5자리값)]
DEAL_YMD -> [계약연월] [예시 : 202105 (6자리값)]
serviceKey -> [서비스키]

 

먼저 [서비스키]는 활용승인이 나면 부여되는 승인키를 의미하는데요

이건 변하는 값이 아니니 공공데이터포털의 마이페이지 내에

활용승인된 API를 선택해 개발계정 상세보기 화면으로 들어가

'일반 인증키(Encoding)'에 있는 키를 복사해서 붙여넣어주고 안건드리시면 됩니다

 

그리고 [법정동코드]와 [계약연월]은 조회를 위해 입력해야하는 값인데요

[법정동코드]는 행정표준코드관리시스템(www.code.go.kr)의 법정동코드 10자리 중 앞 5자리를 넣으시면 되는데요

 

여기서 [법정동코드]가 어떻게 구성되어 있는지 체계를 한 번 보고 가시는 것이

부동산과 관련된 API를 활용한 코딩을 하시는 데 도움이 될 것 같아서

한 번 준비해봤습니다

 

 

여기 법정동 코드의 10자리 중에서 '국토교통부_아파트 전월세 자료'에서는

앞 5자리만 요구하는 것은 시군구단위의 자료만 제공한다는 뜻이 되겠죠

 

 

제가 이 블로그를 쓰고 있는 이유는 API를 신청해두고 실제로 호출이 되기까지

시간이 조금 필요하기 때문인데요

 

이제 어느정도 시간이 흘러 호출이 가능할 것 같으니 바로 호출을 한 번 해보겠습니다

 

저는 부산에 살고있으니 부산진구의 2021년 5월 전월세 자료를 한 번 콜해보려고 합니다

먼저 법정동코드를 조회해볼게요

 

법정동코드를 조회하는 방법은 위에서 소개한 대로 행정표준코드관리시스템에서 가능한데요

 

 

행정표준코드 관리시스템

 

www.code.go.kr

 

 

행정표준코드관리시스템에 접속하면 위 이미지 처럼 '자주이용하는 코드' 2위에 법정동이 있습니다

 

거기서 원하는 지역을 검색하시면 됩니다

 

부산광역시 부산진구를 조회해보면 아래처럼 검색결과가 조회되는데

필요한 것은 빨간색 네모로 표시한 앞 5자리뿐이니 나머지는 무시합시다

 

그럼 다음처럼 값이 정리가 되는데요

 

LAWD_CD=26230
DEAL_YMD=202105

 

이것을 호출메시지에 대입하면 아래와 같이 됩니다

http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptRent?LAWD_CD=26230&DEAL_YMD=202105&serviceKey=[서비스키]

 

이제 호출을 해볼텐데요

 

호출은 다음포스팅에서 할게요 :)

 

관련글 더보기

댓글 영역