본문 바로가기

Data Science/Data Collection

[05. 공공데이터포털 API] 004. 공동주택가격정보서비스

728x90

공공주택가격정보를 조회하는 API에 대해 알아보자. 고유번호, 기준일자를 통해 공동주택가격에 대한 속성정보를 조회할 수 있다.

 

[그림 5.10] 공공주택가격정보서비스 API 요청 메시지

 

서울시 마포구 아현동의 공동주택가격정보를 조회해보자.

 

import pandas as pd
import requests
import json

def get_housing_value(api_key, pnu, stdrYear):
    pageNo = 1
    housing_value = []

    while True:
        url = 'http://apis.data.go.kr/1611000/nsdi/ApartHousingPriceService/attr/getApartHousingPriceAttr?serviceKey=%s&pnu=%s&stdrYear=%s&format=json&numOfRows=1000&pageNo=%s' % (api_key, pnu, stdrYear, pageNo)
        response = requests.get(url)
        result = response.text
        data = json.loads(result)
        
        if int(data['apartHousingPrices']['totalCount']) != len(housing_value):
            housing_value += data['apartHousingPrices']['field']
            pageNo += 1
        else:
            break

    if len(housing_value) > 0:
        housing_value = pd.DataFrame(housing_value)
    else:
        housing_value = pd.DataFrame()

    return housing_value

if __name__ == '__main__':
    api_key = '*'
    pnu = '1144010100'
    stdrYear = '2019'

    housing_value = get_housing_value(api_key, pnu, stdrYear)
    print(housing_value)


결과 값
aphusCode       aphusNm aphusSeCode  ... spclLandNm stdrMt stdrYear
0       438888  (85-813)환일고옆           5  ...       None     01     2019
1       438888  (85-813)환일고옆           5  ...       None     01     2019
2       438888  (85-813)환일고옆           5  ...       None     01     2019
3       438888  (85-813)환일고옆           5  ...       None     01     2019
4       438889      (85-814)           5  ...       None     01     2019
...        ...           ...         ...  ...        ...    ...      ...
6551  20349071        아현아이파크           1  ...       None     01     2019
6552  20349071        아현아이파크           1  ...       None     01     2019
6553  20349071        아현아이파크           1  ...       None     01     2019
6554  20349071        아현아이파크           1  ...       None     01     2019
6555  20349071        아현아이파크           1  ...       None     01     2019
728x90