본문 바로가기
Python

[파이썬] 공공 데이터 포털 API 국토교통부 아파트 매매 자료 조회

by 퍼포먼스마케팅코더 2022. 8. 13.
반응형
이거는 인기있는, 공공데이터 포털 api 중에 국토교통부 거기서 나오는 아파트 매매자료 조회를 하는 내용이에요. 그래서 여기서 관련된 내용을 제가 파이썬 코딩으로 찾아보면 이건 유용할 것 같습니다. 할 줄 알았어요.관련하여 유용하다고 생각합니다. 많이 쓸 수 있을 것 같아서 가져왔습니다. api키도 아주 잘 되어 있고 내용도 잘 나옵니다. 오늘은 아파트 매매 자료, 이에 대한 공공 데이터 포털 api 사용 방법에 대해 알아보겠습니다.

[파이썬] 공공 데이터 포털 API 국토교통부 아파트 매매 자료 조회

 

 

공공 데이터 포털 API 국토교통부 아파트 매매 자료 조회  API 키 발급

이것도마찬가지입니다. 공공데이터포털 api에서 아파트 매매자료를 조회하려면 apik을 발행해야 하는데 두 곳에서 받아야 합니다. 하나는 아파트 매매 실거래 자료 하나와 그 다음에 아파트 매매 실거래 세부 자료 이 두 곳에서 apik을 발급받아야 합니다. 발급받으면 바로 가능하니 발급받으셔도 될 것 같아요.

 

https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15058747 

 

국토교통부_아파트매매 실거래자료

부동산 거래신고에 관한 법률에 따라 신고된 주택의 실거래 자료를 제공

www.data.go.kr

 

https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15057511 

 

국토교통부_아파트매매 실거래 상세 자료

부동산 거래신고에 관한 법률에 따라 신고된 주택의 실거래 자료를 제공

www.data.go.kr

 

파이썬 공공 데이터 포털 API 국토교통부 아파트 매매 자료 조회

첫 번째로 파이썬 코딩에 대해서 설명을 드리는데, 첫 번째로 지역 코드와 기간이 있는데 기간에 따라 해당 지역이 있잖아요.지역에 아파트 매매를 신고한 자료에 대한 정보를 조회하는 것입니다. 여기서 각 지역별 코드가 행정표준관리코드관리시스템이라는 데 법정동코드가 있습니다. 열 자리 중에 제 앞에 다섯 자리를 쓰는 게 지역별 코드고 그 다음에 실거래 자료에 계약년월에 여섯 자리 그걸 넣어야 돼요. 두 부분을 참고해 보세요.다음에 api키만 발행한 것을 넣으면 바로 데이터를 볼 수 있습니다. 밑에 오류 몇 개 제가 먼저 나왔을 때 나온 부분이 있었어요. 만약 코딩 중에 비슷한 오류가 난다면 아래 에러 건을 참고해 주세요. 그리고 또 다른 오류가 있다면 말해주세요.

from urllib.request import urlopen
from urllib.parse import urlencode, unquote, quote_plus
import urllib
import requests
import json
import pandas as pd
from datetime import datetime,timedelta
import warnings
import xmltodict # 결과가 xml 형식으로 반환된다. 이것을 dict 로 바꿔주는 라이브러리다

#국토교통부_아파트 매매 자료

#지역코드와 기간을 이용하여 해당기간, 해당지역의 아파트 매매 신고자료를 제공하는 아파트 매매 신고 정보 조회

warnings.filterwarnings('ignore')

serviceKey = '' #api 키 발급
LAWD_CD = '11110'  #각 지역별 코드 (각 지역별 코드 행정표준코드관리시스템(www.code.go.kr)의 법정동코드 10자리 중 앞 5자리)
DEAL_YMD = '201512' #월 단위 신고자료 (실거래 자료의 계약년월(6자리))


url = 'http://openapi.molit.go.kr:8081/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTrade?serviceKey={}&LAWD_CD={}&DEAL_YMD={}'.format(serviceKey, LAWD_CD, DEAL_YMD)

response = requests.get(url, verify=False)

#HTTPSConnectionPool(host='www.work.go.1kr', port=443): Max retries exceeded with url 
# 오류 발견시 requests.get(url, verify=False) 로 넣어주면됨. 

dict_data = xmltodict.parse(response.text) #xml을 json로 변환
json_data = json.dumps(dict_data, ensure_ascii=False)  #한글이 깨지면 ensure_ascii 코드를 False로 하면됨.
r_data = json.loads(json_data)  #json 변환

#print(json_data)


try :
    data = pd.DataFrame(r_data['response']['body']['items']['item'])
except :
    data = pd.DataFrame(r_data['response']['body']['items']['item'], index=[0])  #데이터프레임으로 보자 

data

 

두번째는 아까 말씀 드린 국토교통부에서 아파트 매매 세부자료와 관련된 파이썬 코딩인데요, 음, 이것도마찬가지고요. 위에 나와있던 내용과 같지만 더 자세한 내용을 보고 싶습니다. 하시는 분만 참고하시면 될 것 같아요. 세부 사항만 참고하고 싶다면 아래 부분을 조금 전에 참고하셔서 더 중요한 정보를 얻으셨으면 합니다.마찬가지로 api key를 넣으면 아파트 매매에 관한 세부 자료를 보실 수 있습니다. 상세 자료의 내용은 위에 적혀 있던 코딩 내용과 거의 차이가 없습니다. 거의 똑같으니 참고하시면 될 것 같아요.
#국토교통부_아파트매매 상세자료

#지역코드와 기간을 이용하여 해당기간, 해당지역의 아파트 매매 신고자료를 제공하는 아파트 매매 신고 정보 조회

warnings.filterwarnings('ignore')

ServiceKey = '' #API 키 발급
pageNo = '1' #페이지번호
numOfRows = '100' #한 페이지 결과 수
LAWD_CD = '11110' #지역코드
DEAL_YMD = '202012' #계약월

url = 'http://openapi.molit.go.kr/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTradeDev?serviceKey={}&pageNo={}&numOfRows={}&LAWD_CD={}&DEAL_YMD={}'.format(ServiceKey, pageNo, numOfRows, LAWD_CD, DEAL_YMD)

response = requests.get(url, verify=False)

dict_data = xmltodict.parse(response.text) #xml을 json로 변환
json_data = json.dumps(dict_data, ensure_ascii=False)  #한글이 깨지면 ensure_ascii 코드를 False로 하면됨.
r_data = json.loads(json_data)  #json 변환

#data = r_data['response']['body']['items']['item']

#pdata = pd.DataFrame(data)
#pdata


try :
    data = pd.DataFrame(r_data['response']['body']['items']['item'])
except :
    data = pd.DataFrame(r_data['response']['body']['items']['item'], index=[0])  #데이터프레임으로 보자 

data
반응형

댓글