플그래밍/파이써언

[파이썬] 공공데이터 API - 지역별 아파트 매매 내역 추출하기

훗티v 2022. 1. 16. 12:28

공공데이터포털에는 각종 데이터가 무료로 제공되고 있다.

공공데이터포탈 웹사이트 메인

 

국토교통부_아파트매매 실거래 상세 자료항목을 통해 아파트 거래 내역을 추출해보자.

로그인 및 활용신청 클릭 후 무료 API키 발급

 

법정동 코드 조회사이트에서 원하는 지역의 코드 값을 찾아 입력해준다. (강남구: 11680)

조회하고자 하는 연도를 입력해준다. (2021)

# 모듈 임포팅
import requests
import bs4

#인증키 입력 (공공 데이타 사이트에서 발급 및 로그인 후 확인)
encoding = '본인의 API키(인코딩)'
decoding = '본인의 API키(디코딩)'

# 법정동 코드
areacode = 11680 # 강남구

# 조회기간 설정 변수
month_digit = ['01','02','03','04','05','06','07','08','09','10','11','12'] 
search_year = '2021'

# 총 거래내역
count = []

# 추출 모듈
for each in month_digit:
    yearmonth = search_year + each

    # url 입력
    url = 'http://openapi.molit.go.kr/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTradeDev'
    params ={'serviceKey' : decoding, 'pageNo' : '1', 'numOfRows' : '10000', 'LAWD_CD' : areacode, 'DEAL_YMD' : yearmonth }

    response = requests.get(url, params=params).text
    xmlobj = bs4.BeautifulSoup(response, 'lxml-xml')
    rows = xmlobj.findAll('item')

    j = 0
    count.append(len(rows)) # 해당 기간의 거래내역 개수 저장

    # 거래별 세부 항목 정리
    while j <= len(rows)-1:
        columns = rows[j].find_all()

        # 세부 항목(값) 추출
        for item in columns:
            if item.name == "아파트":
                complex = item.text
            if item.name == "거래유형":
                type = item.text
            if item.name == "년":
                year = item.text    
            if item.name == "월":
                month = item.text
            if item.name == "일":
                day = item.text
            if item.name == "전용면적":
                size = item.text
            if item.name == "층":
                floor = item.text
            if item.name == "거래금액":
                amount = item.text.strip()

        try:
            # 해당 기간 거래 전체 조회
            print(f'{year}년 {month}월 {day}일 | {size}m\u00b2 | {floor}층 | {amount}만원 | {complex} | {type}')
        
        except NameError: # 에러 핸들링 (빈칸 처리)
            pass

        j += 1

print(f'총 {sum(count)}개의 거래내역이 확인되었습니다.')

 

실행 결과는 다음과 같다.

2021년 강남구에서 총 2518개의 아파트 거래가 발생했다.

 

 

 

 

 

[플그래밍/파이써언] - [파이썬] 폴더 내 파일 확장자별로 분류하기

[플그래밍/파이써언] - [파이썬] 판다스 CSV > XLSX 엑셀 변환

[플그래밍/파이써언] - [파이썬] PDF 파일 합치기 (PyPDF2)

[플그래밍/파이써언] - [파이썬] 브라우저 새로고침 (selenium)

[플그래밍/파이써언] - [파이썬] 코로나 라이브 확진자 데이타 추출하기 (selenium)

 

 

 

 

 

 

728x90