부동산 토지 거래 실거래가 수집하기

목차

    2018. 11. 5. 06:00

    정부의 중점추진사업에는 항상 빅데이터가 포함돼 있다. 나라에서도 중점적으로 추진하는 만큼 많은 공공기관에서도 관련된 사업들을 많이 하고 있다. 그 중에 하나는 공공데이터 공개이다. 공개되는 공공데이터로 많은 시민들이 유용한 인싸이트를 얻고, 사업이나 행정에 활용할 수 있도록 하는 것이다. 그 중에서 가장 유용한 데이터 중의 하나는 부동산 데이터가 아닌가 한다.

    오늘은 API를 통해서 토지거래 정보를 수집하는 방법에 대해서 알아보도록 하겠다.


    토지거래_정보_수집


    토지거래 정보를 수집하기 위해 공공데이터 포탈에 접속해보자. 공공데이터 포탈에는 여러 공공기관에서 제공하는 공공데이터가 모여있는 포탈싸이트이다. 검색창에 '토지 거래'를 검색하니 국통교통부 실거래가 정보를 확인할 수 있었다.


    국토교통부_실거래가_정보


    국토교통부 실거래가 정보에는 아래 12개의 정보를 API로 수집할 수 있다. 아파트, 상가, 토지로 묶어서 정리해 보았다.

    1. 아파트
      1) 아파트 분양권전매 신고 자료
      2) 아파트 매매 실거래 자료
      3) 아파트 전월세 자료
      4) 아파트 매매 실거래 상세 자료

    2. 연립다세대, 단독/다가구
      1) 연립다세대 매매 실거래자료
      2) 연립다세대 전월세 실거래 자료
      3) 단독/다가구 매매 실거래 자료
      4) 단독/다가구 전월세 자료

    3. 상가, 오피스텔
      1) 상업업무용 부동산 매매 신고 자료
      2) 오피스텔 매매 신고 조회 서비스
      3) 오피스텔 전월세 신고 조회 서비스

    4. 토지
      1) 토지 매매 신고 조회 서비스


    토지 거래 관련해서 사용할 수 있는 자료는 '7.토지 매매 신고 조회 서비스'이다. '활용신청'을 클릭하여 신청하면, 해당 API의 상세 내용을 알 수 있다.

    URL을 어떻게 구성해야 하는지 쉽게 감이 오지 않는데, 상세기능정보에 '미리보기 다운로드'를 실행하면 쉽게 알 수 있다. 요청변수에 따른 값에 따라 구성된 데이터값을 별도의 창에서 보여준다. 해당 창의 url주소를 가져오면 쉽게 알 수 있겠다.


    샘플데이터_다운로드


    이제 데이터를 수집할 수 있는 url은 알았으니, 파이썬 데이터 프레임으로 저장하는 부분만 작성하면 되겠다. 데이터를 수집하는 부분은 함수로 작성하여, 나중에 재사용하기 쉽게 해 보았다.

    필자는 파이썬을 이용해서 토지 거래 실거래가를 수집했다. 자세한 내용은 이미 다른 포스팅에서 했기 때문에, 여기서는 코드만 넣기로 한다. 코드에 대한 자세한 내용이 궁금하다면, 아래 다른 포스팅을 참조해 보도록 하자.
    (참조: [dart api 1] 기업공시시스템 open api 사용하기)


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    # coding=utf-8
    #
    # 부동산 토지신고가 모으기
    #
     
    from urllib.request import urlopen
    import pandas as pd
    from bs4 import BeautifulSoup
    from html_table_parser import parser_functions as parser
     
     
    def collect_land_sale(ym,lawd_cd):
     
        API_KEY = "(자신의 API키를 넣는다)"
        url="http://openapi.molit.go.kr/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcLandTrade"
     
        url=url+"?LAWD_CD="+lawd_cd+"&DEAL_YMD="+ym+"&serviceKey="+API_KEY
     
        resultXML = urlopen(url)
        result = resultXML.read()
        xmlsoup = BeautifulSoup(result, 'lxml-xml')
     
        te=xmlsoup.findAll("item")
        sil=pd.DataFrame()
     
        for t in te:
            price = t.find("거래금액").text
            size = t.find("거래면적").text
            year=t.find("년").text
            dong=t.find("법정동").text
            gu = t.find("시군구").text
            yd = t.find("용도지역").text
            month=t.find("월").text
            day=t.find("일").text
            jimock=t.find("지목").text
            lawd_cd=t.find("지역코드").text
     
            temp = pd.DataFrame(([[price,size,year,dong,gu,yd,month,day,jimock,lawd_cd]]),
                                columns=["price","size","year","dong","gu","month","day","size","jimock","lawd_cd"])
            sil=pd.concat([sil,temp])
     
        sil=sil.reset_index(drop=True)
     
        return sil
     
    if __name__=="__main__":
     
        data=collect_land_sale("201502","11110")
    cs


    오늘은 이렇게 부동산 토지 실거래가를 수집하는 방법에 대해서 알아보았다. 공공데이터 포탈을 통해서 토지 신고가에 대한 API를 쉽게 찾을 수 있었고, 파이썬을 통해서 수집하는 코드를 작성해보았다.


    위에서는 API를 이용해 부동산 데이터를 수집하는 방법을 다루었다. 하지만, 최근에 더 쉽게 부동산 관련 데이터를 수집할 수 있는 방법을 알았다. 파이썬 패키지를 이용하는 방법이고, 자세한 내용은 아래 포스팅 3-2)를 참조하기 바란다.
    ( 참조: 가장 쉬운 아파트 실거래가 조회하고, 데이터 수집하는 방법은?! )


    국토교통부에서는 토지거래 데이터 외에도 아파트 전월세, 매매 데이터를 제공하고 있다. 해당 데이터를 수집하고 활용하는 방법이 궁금하다면 아래 포스팅을 참조해 보자.
    (참조: [부동산 API1] 공공데이터 활용하여 전월세 실거래가 가져오기)


    이 글 공유하기