레이블이 공개시스템인 게시물을 표시합니다. 모든 게시물 표시
레이블이 공개시스템인 게시물을 표시합니다. 모든 게시물 표시

토요일, 11월 22, 2025

LLM을 이용한 환율, 지수, 주가 비교 사이트 제작기 (3)

오늘 파이썬 코드는 기존의 비교 사이트 제작이 아닌 부동산 정보를 수집하는 코드 되겠습니다.

지금까지는 국토교통부 실거래가 공개시스템(https://rt.molit.go.kr/pt/xls/xls.do)을 통해서 한땀 한땀 엑셀을 다운받아서 SQLite에 업데이트하는 방법으로 부동산 정보를 수집하고 있었습니다.

-국토교통부 실거래가 공개시스템-

처음에는 이 사이트를 분석해서 일괄적으로 특정 년도의 매매 정보를 다운로드(크롤링) 받을까 하다가 당연히 API로 정보를 제공하고 있지 않을까 해서 검색을 해보니 공공데이터포털(https://www.data.go.kr)에서 API신청해서 다운로드 받을 수  있게 되어 있었네요 ㅎㅎ 


그래서 LLM의 도움을 받기전에 검색을 해보니 이미 많은 분들이 이 API를 가지고 많이 해보셨으나 notebook이나 colab을 사용하고 있어서 LLM의 도움을 받아 API에서 정보를 받아 mongodb에 삽입/업데이트하는 코드를 작성해보았습니다.

↓↓↓↓↓이미 공공데이터포털의 API를 사용한 사례↓↓↓↓↓

Py) API(공공) 아파트 매매 실거래가 상세 - Data Doctor

[부동산 데이터 수집] 아파트 매매 실거래가 조회하기(파이썬)

[파이썬 부동산] 아파트 매매 실거래가 API 활용

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


공공데이터포탈에서 API를 신청하겠다고 하면 이런 저런 예제와 문서를 주는데 신청한 다음 바로 테스트할 때는 잘 안됩니다. 몇시간이나 다음날 정도되면 잘 될겁니다. (정보를 동기화하는데 시간이 좀 걸리는듣 합니다.)

-공공데이터포털 API 신청된 화면-


국토교통부에서 제공해주는 실거래가 시스템에서는 시단위 기준으로 데이터를 가져올 수 있었는데 API에서는 시도 기준으로는 데이터를 가져올 수가 없었습니다. 그래서 어쩔 수 없이 구 단위 기준의 법정동코드를 확보해서 구 기준으로 API를 작동 할 수 있게 하였슴다 :)

※ 법정동코드는 code.go.kr에서 찾지말고 공공데이터포털 국토교통부 법정동코드 라고 csv파일로 다운로드 받을 수 있는 것이 있습니다. >여기<


공공데이터포털에서 제공받은 API로 코드를 작성해서 github에 업로드 하였습니다. 

>아파트 매매 실거래가 자료<

근데 법정동코드를 for문으로 돌리는데 시간이 좀 많이 걸리는것 같네요. 병렬로 처리해봤는데 이게 잘 되는건지 잘 확인도 되지않아서.. 일단 하나씩 돌리고 있습니다. 


다음에는 매매 실거래가 수집했으니 전월세 수집하겠죠? :)



출처: @ye._.vely618


토요일, 1월 11, 2025

개인프로젝트 - 국토교통부 실거래가 공개시스템

오늘은 오랫만에 주식 대신에 아파트(로제의 A.P.T. 말고) 가격을 모아보았습니다.

조금 더 세련되게 모아보려고 했으나...

세련되게 해보려고 하는 시간에 손목을 움직이니 다 모았음 Orz


국토교통부 실거래가 공개시스템에 접속합니다. (https://rt.molit.go.kr/)

중간 메뉴에서 >아파트< 를 찾아 클릭합니다.

그러면 갑자기 지도가 보이실겁니다.

당황하지 마시고 오른쪽으로 시선을 돌리시면 [자료제공]이라는 항목이 보이실 겁니다.

사뿐히 클릭해주시면 아래와 같은 "조건별 자료제공" 이라는 화면을 보실 수 있습니다. 


출처: https://rt.molit.go.kr/pt/xls/xls.do


저는 그냥 서울/경기도 지역의 아파트 매매,전월세 가격을 csv파일로 다운로드 받았습니다.

음.... 전국 아파트 매매가격이나 전월세 가격을 다운로드받으면 한달단위로밖에 되지 않았던 것 같고... 시도별로 다운받으면 1년 단위로 받아집니다.

서울/경기도 매매, 전월세 자료를 다 받으면 sqlite에 insert하니 대략 1.5G에 육박할겁니다. 


parser_real_estate.py

parser_real_estate_rent.py


추후에 이 자료를 가지고 요리조리 볼 수 있는 dashboard를 작성하는 것도 시리즈물로 한번 작업해보도록 하겠습니다.

제발 내일은 덜 춥기를 :)


출처: @ye._.vely618


월요일, 3월 18, 2024

부동산트렌드 따라해보기 1장

오늘은 자료 수집관련하여 글 하나 투척합니다.

최근 "부동산 트렌드"라는 책을 읽고 있어서 강남3구와 노도강에서 거래되었던 자료들이 진짜 그런지 한번 확인해보고자 자료 수집 작업을 위한 것을 한번 로그삼아 남겨보도록 하겠습니다.

국내 부동산 거래 가격은 국토교통부 실거래가 공개시스템에서 확인하실 수있습니다.

안타깝게 막 영화에서 나오는것 처럼 뚝딱 뚝딱 해서 API로 실시간으로 끌어오고 화면에 촤라락 그래피컬하게 하는것은 기대하시면 창을 끄시면되겠습니다.


우선 실거래가 공개시스템에서 [조건별 자료제공] 이라는 사이트로 들어가셔서 시도별 1년단위로 데이터를 다운 받으시면 되겠습니다. 전 우선 서울시와 경기도 데이터만 다운로드 받았습니다. 전국 데이터는 한 달 기준으로 다운로드 받을 수 있다고하니.. 개인이 필요한 데이터에 맞게 다운로드 받으시면 되겠습니다.

그리고 수월한 작업을 위해 엑셀이 아닌 sqlite3에 실거래가 정보들을 모두 때려박아 넣도록 하겠습니다.

다음 코드가 일단 DB에 다 때려박는 코드 되겠습니다.


import csv
import sqlite3


# SQLite 데이터베이스 파일 경로

sqlite_file_path = "real_estate_transactions.db"


# SQLite 연결 객체 생성

connection = sqlite3.connect(sqlite_file_path)


csv_file_path = "아파트(매매)_실거래가_서울특별시_2022.csv"


num = 0

with open(csv_file_path, newline="") as csvfile:   

    reader = csv.reader(csvfile, delimiter=",")

    # 커서 객체 생성

    cursor = connection.cursor()

    for row in reader:        

        if num < 16:

            pass

        else:

            tmp = list()

            for r in row[1:]:

                tmp.append(r.strip())


            cursor.execute("""INSERT OR IGNORE INTO transactions ("시군구","번지","본번","부번","단지명","전용면적","계약년월","계약일","거래금액","동","층","매수자","매도자","건축년도","도로명","해제사유발생일","거래유형","중개사소재지","등기일자") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)""", (tmp),)

            connection.commit()            


        num+=1

        

# 연결 닫기

connection.close()


다음 시간에는 sqlite3에 있는 정보를 가지고 끄적끄적하는 시간을 가지지 않을까합니다. 




출처: @ye._.vely618