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

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

반응형

안녕하세요

오늘은 예전에 소개해드린 적이 있던 공공 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

전월세 실거래가 테스트

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의 활용신청을 해볼게요

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

국토교통부_아파트 전월세 자료 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월 전월세 자료를 한 번 콜해보려고 합니다

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

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

행정표준코드관리시스템에 접속하면 위 이미지 처럼 '자주이용하는 코드' 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;=[서비스키]

이제 호출을 해볼텐데요

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

반응형

from http://goranisogul.tistory.com/76 by ccl(A) rewrite - 2021-06-10 20:26:45