본문 바로가기

API

[공공데이터포털 API] 아파트 매매 실거래 자료 수집

반응형

공공데이터 포털 API의 아파트 매매 실거래가 데이터를 수집해보겠습니다.

가입 및 API 신청 및 확인에 대한 방법과 아파트 매매 실거래가 신청법에 대해 필요하신 분은 

아래의 1, 2번을 참고 부탁드리겠습니다.

 

1. 가입 및 API 신청 및 확인(Skip가능)

2. 아파트 매매 실거래가 데이터 활용 신청(Skip가능)

3. 데이터 수집

 

 

1. 가입 및 API 신청 및 확인(Skip가능)

https://yenpa.tistory.com/35

 

[공공데이터포털 API] 가입하기 및 인증키(APPKey) 발급, 확인

1. 공공데이터포털(data.go.kr) 가입 2. 인증키(APPKey) 발급 3. 인증키(APPKey) 확인 1. 공공데이터포털(data.go.kr) 가입 공공데이터포털 사이트에 접속합니다. https://www.data.go.kr/ 공공데이터 포털 국가에서

yenpa.tistory.com

 

 

2. 아파트 매매 실거래가 데이터 활용 신청

data.go.kr 에 접속해서 로그인을 실시합니다.
화면 중간 검색창에 "아파트매매 실거래자료"를 입력 후 검색합니다.

화면 중간쯤에 국토교통부_아파트 매매 실거래자료에서 활용신청을 클릭합니다.

 

활용 신청 화면에서 활용 목적을 입력하고 이용허락 범위를 동의 후에 활용신청 버튼을 클릭합니다.

승인은 바로 안되고 다음날이 되어야 데이터 확인이 가능했습니다.

 

 

3. 데이터 수집

요청 URL 과 요청 Parameter를 확인해보겠습니다.

데이터는 URL?요청인자=value의 형태로 호출이 가능합니다.

예를 들면 아래의 형태로 호출하시면 됩니다.

LAWD_CD=11110 은 종로구의 DEAL_YMD=202210 2022년 10월의 데이터입니다.

http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTrade?LAWD_CD=11110&DEAL_YMD=202210&serviceKey=YOUR_APIKEY

 

지역코드는 www.code.go.kr 의 법정동 코드 검색에서 확인이 가능하고, 

또는 data.go.kr의 행정안전부_행정 표준코드_법정동 코드를 활용신청 후 API 호출로도 확인이 가능합니다.

 

실제 데이터를 호출해볼까요. 종로구의 2022년 9월의 데이터입니다.

LAWD_CD='11110'
DEAL_YMD='202209'
#apikey='YOUR_APIKEY'


import requests

url = 'http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTrade'
params ={'serviceKey' : apikey, 'LAWD_CD' : LAWD_CD, 'DEAL_YMD' : DEAL_YMD }

response = requests.get(url, params=params)
print(response.content.decode('UTF-8'))

 

데이터가 xml 형태로 잘 들어와 있는 것이 확인이 됩니다.

xmltodict를 이용해서 xml -> json(dict) 형태로 변환하겠습니다.(설치는 "pip install xmltodict")

import xmltodict
result = xmltodict.parse(response.content)
result

dict 형태로 저장이 되었습니다.

 

 

거래 데이터는 result['body']['items']['item']에 list 형태로 저장이 됩니다.

데이터 타입은 list이고 종로구의 2022년 9월 실거래 데이터는 15건이 수집이 되었습니다.

 

마지막으로 dict 형태를 DataFrame으로 변형하도록 하겠습니다.

import pandas as pd
df=pd.DataFrame(data)
df

dict보다는 보기도 좋고 나중에 활용하기도 좋은 형태로 되었습니다.

 

 

그럼 조금 확장해서 종로구의 2022년 1월 ~ 9월까지의 실거래 데이터를 수집해볼까요

위의 코드들을 합쳐서 조금 수정한 코드입니다.

yms=list(range(202201,202210))
LAWD_CD='11110'
#apikey='YOUR_APIKEY'

df_all=pd.DataFrame()
for ym in yms:
    DEAL_YMD=str(ym)
    
    url = 'http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTrade'
    params ={'serviceKey' : apikey, 'LAWD_CD' : LAWD_CD, 'DEAL_YMD' : DEAL_YMD }

    response = requests.get(url, params=params)
    result = xmltodict.parse(response.content)
    data=result['response']['body']['items']['item']
    df=pd.DataFrame(data)
    
    df_all=pd.concat([df_all,df])
df_all

2022년 1월 ~ 9월사이에 종로구에서는 147건의 거래가 등록된 것을 알 수 있습니다.

지역코드를 늘리고 기간을 늘린다면 더 많은 데이터의 수집도 가능합니다.

 

추가로 위의 코드를 활용한 데이터 인데 관심 있으신 분은 확인하셔도 좋을 것 같습니다.

https://yenpa.tistory.com/37

 

[아파트 실거래가 API] 지역별 아파트 가격정보 비교 및 월별 트렌드 확인

공공데이터 포털 API의 아파트 실거래가 API를 이용해서 서울내의 각 구별 아파트 가격정보와 월별 트렌드를 확인해보겠습니다. 이용하는 API는 아래의 2가지가 되겠습니다. 행정안전부_행정표준

yenpa.tistory.com

 

이상으로 아파트 매매 실거래가 데이터를 수집해 봤습니다.

반응형