본문 바로가기

Data Science/Data Collection

[05. 공공데이터포털 API] 005. 실거래가격지수 통계 조회 서비스

728x90

아파트 실거래가격지수를 조회해보자. 다양한 서비스가 제공되고 있으나 규모별 아파트 실거래가격지수 조회 API가 모든 것을 포괄하기 때문이 이에 대해 알아보자.

 

[그림 5.11] 규모별 아파트 실거래가격지수 조회 API 요청 메시지

 

지역코드 및 규모코드 그리고 계약 타입 등을 통하여 다양하게 조회할 수 있다. 자세한 내용은 참고문서를 다운받아보도록 하자. 서울의 대형아파트 매매 가격지수를 조회하는 API를 작성해보자.

 

import pandas as pd
import requests
from bs4 import BeautifulSoup

def get_housing_value_index(api_key, startmonth, endmonth, region, size, contractType):
    housing_value_index = []

    url = 'http://openapi.kab.co.kr/OpenAPI_ToolInstallPackage/service/rest/RealTradingPriceIndexSvc/getAptRealTradingPriceIndexSize?serviceKey=%s&startmonth=%s&endmonth=%s&region=%s&size=%s&contractType=%s' % (api_key, startmonth, endmonth, region, size, contractType)
    response = requests.get(url)
    result = response.text
    soup = BeautifulSoup(result, 'lxml')
    
    if soup.resultcode.text == '00':
        row = soup.rsrow.text.split('|')

        for r in row:
            housing_value_index.append(r.split(','))

        housing_value_index = pd.DataFrame(housing_value_index, columns=['Date', 'Index', 'Type'])
    else:
        housing_value_index = pd.DataFrame()

    return housing_value_index

if __name__ == '__main__':
    api_key = '*'
    startmonth = '201801'
    endmonth = '201912'
    region = '11000'
    size = '5'
    contractType = '0'

    housing_value_index = get_housing_value_index(api_key, startmonth, endmonth, region, size, contractType)
    print(housing_value_index)


결과 값
     Date   Index   Type
0   201801  104.1   매매
1   201802  105.8   매매
2   201803  106.7   매매
3   201804  107.5   매매
4   201805  107.6   매매
5   201806  107.8   매매
6   201807  111.3   매매
7   201808  114.2   매매
8   201809  117.6   매매
9   201810  118.2   매매
10  201811  116.2   매매
11  201812  116.5   매매
12  201901  111.0   매매
13  201902  112.0   매매
14  201903  112.1   매매
15  201904  112.2   매매
16  201905  114.6   매매
17  201906  117.6   매매
18  201907  120.2   매매
19  201908  122.9   매매
20  201909  122.8   매매
21  201910  125.7   매매
22  201911  128.4   매매
728x90