본문 바로가기
Study

공공데이터포털 사용해보기 feat.호갱고고(아파트 실거래 정보 조회)

by jisayDeveloper 2023. 10. 11.
728x90
반응형

https://www.data.go.kr/

 

공공데이터 포털

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

www.data.go.kr

국가에서 보유한 다양한 데이터를 이용하여 많은 개발자 분들이 개발을 하실 겁니다.

 

간단한 사용법과 제가 프로젝트에 사용한 데이터들을 소개하려 합니다.

 

당연하지만 무조건 회원가입 후에 로그인을 하셔야 합니다.


아파트를 검색한 화면입니다. 보시다시피 파일데이터, 오픈API항목 등 여러 형태로 데이터를 지원합니다.

제가 호갱고고(아파트 실거래, 전월세 조회) 프로젝트 당시에 썼던 데이터는

국토교통부의 전월세 자료, 실거래 상세 자료와 행정안전부 행정표준코드 법정동 코드를 사용하였습니다.

 

자 이제 어떻게 사용하는지 알아보겠습니다.

법정동 코드를 들어간 화면입니다.

법정동 코드로 예를 들자면 이렇게 클릭해서 들어가면 간단한 정보들이 나오게 되고 이 데이터를 쓰고 싶다면 활용신청을 눌러서 key를 받아야 합니다.(서버로 요청보낼때 key값을 넣어 줘야 응답 받을 수 있습니다.)

요청 파라미터와 결과값을 보여줍니다. 

화면 하단에는 개발하는 언어에 따라 활용할 수 있게 샘플 코드가 있습니다.


@Override
    public List<ApartDTO> getCode(String code, String selectedValue) throws Exception {


        StringBuilder urlBuilder = new StringBuilder("http://apis.data.go.kr/1741000/StanReginCd/getStanReginCdList"); /*URL*/
        urlBuilder.append("?" + URLEncoder.encode("serviceKey", "UTF-8") + "여기다가 키입력"); /*Service Key*/
        urlBuilder.append("&" + URLEncoder.encode("pageNo", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8")); /*페이지번호*/
        urlBuilder.append("&" + URLEncoder.encode("numOfRows", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8")); /*한 페이지 결과 수*/
        urlBuilder.append("&" + URLEncoder.encode("type", "UTF-8") + "=" + URLEncoder.encode("json", "UTF-8")); /*호출문서(xml, json) default : xml*/
        urlBuilder.append("&" + URLEncoder.encode("locatadd_nm", "UTF-8") + "=" + URLEncoder.encode(code, "UTF-8")); /*지역주소명*/

        String result = getApi(urlBuilder);
        JSONParser parser = new JSONParser();
        JSONObject object = (JSONObject) parser.parse(result);
        System.out.println("result==="+object);

        JSONArray jArr = (JSONArray) object.get("StanReginCd");

        JSONObject jObj = (JSONObject) jArr.get(1);
        JSONArray head = (JSONArray) jObj.get("row");
        JSONObject headObj = (JSONObject) head.get(0);
        String region = (String) headObj.get("region_cd");
        String trance = region.substring(0, 5);

저는 아파트 실거래 상세자료와 전월세 자료가 요청 파라미터에 법정동 코드가 들어가기에 어쩔 수 없이 

한글로 지역을 입력하면 법정동 코드로 변환해주는 기능이 필요했고 JSON simple을 통해 parsing했습니다.

 

호갱고고(아파트 실거래 정보 조회) 전체 코드가 궁금하시다면 깃허브 링크 걸어두겠습니다.

https://github.com/tlawltjr/apart

 

GitHub - tlawltjr/apart: hogaeng go go project

hogaeng go go project. Contribute to tlawltjr/apart development by creating an account on GitHub.

github.com

 

728x90
반응형