레이블이 전월세인 게시물을 표시합니다. 모든 게시물 표시
레이블이 전월세인 게시물을 표시합니다. 모든 게시물 표시

화요일, 11월 25, 2025

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

지난주에 작업한 공공데이터포털에서 API를 활용하여 아파트 매매 데이터를 수집하는 코드를 작성해보았는데... 이게 생각보다 시간이 많이 걸리는 작업이더라구요.

그래서 일단 불편하지만 국토교통부 실거래가 공개시스템(https://rt.molit.go.kr/pt/xls/xls.do)을 통해서 한땀 한땀 엑셀 또는 CSV로 파일을 다운로드 받는게 더 빨라서 구분해서 작업을 하기로 했습니다. Orz

우선 국토교통부 실거래가 공개시스템에서 서울시와 경기도의 실거래가와 전월세 데이터를 CSV로 파일을 받습니다.

※참고1, 시도단위는 1년단위로 받을 수 있고, 전체 데이터는 월단위로 받을 수 있습니다.

※참고2, 매매 거래가는 2005년부터, 전월세 거래가는 2011년부터 존재합니다. 참고하시기 바랍니다.

이번 작업은 grok(자동)를 사용해봤습니다.

아파트 실거래가 CSV 파일을 mongodb에 업로드 하는 스크립트를 작성해줘
--
□ 본 서비스에서 제공하는 정보는 법적인 효력이 없으므로 참고용으로만 활용하시기 바랍니다.
□ 신고정보가 실시간 변경, 해제되어 제공시점에 따라 공개건수 및 내용이 상이할 수 있는 점 참고하시기 바랍니다.
□ 본 자료는 계약일 기준입니다. (※ 7월 계약, 8월 신고건 → 7월 거래건으로 제공)
□ 통계자료 활용시에는 수치가 왜곡될 수 있으니 참고자료로만 활용하시기 바라며, 외부 공개시에는 반드시 신고일 기준으로 집계되는 공식통계를 이용하여 주시기 바랍니다.

* 국토교통부 실거래가 공개시스템의 궁금하신 점이나 문의사항은 콜센터 1533-2949로 연락 주시기 바랍니다.
□ 검색조건
계약일자 : 2005-01-01 ~ 2005-12-31
실거래구분 : 아파트(매매)
주소구분 : 지번주소
시도 : 경기도
시군구 : 전체
읍면동 : 전체
면적 : 전체
금액선택 : 전체
NO 시군구 번지 본번 부번 단지명 전용면적(㎡) 계약년월 계약일 거래금액(만원) 동 층 매수자 매도자 건축년도 도로명 해제사유발생일 거래유형 중개사소재지 등기일자
1 경기도 광주시 신현동 588-1 588 1 현대모닝사이드2 84.778 200512 31 24,000 - 4 - - 2001 새말길 93 - - - -
2 경기도 부천시 소사구 송내동 372 372 0 푸르지오 84.874 200511 30 23,650 - 3 - - 2005 중동로 64 - - - -
3 경기도 안성시 원곡면 반제리 743 743 0 산수화 59.76 200511 30 5,000 - 16 - - 2003 벚꽃길 73 - - - -
4 경기도 광주시 곤지암읍 삼리 125-1 125 1 곤지암킴스빌리지 35.63 200511 30 3,200 - 17 - - 2001 평촌길 20 - - - -
5 경기도 부천시 소사구 소사본동 135 135 0 소사에스케이뷰 84.9841 200511 30 18,800 - 18 - - 2004 소삼로 62 - - - -
6 경기도 오산시 원동 826-1 826 1 대우푸르지오 84.616 200511 30 17,630 - 14 - - 2005 남부대로 411-15 - - - -
7 경기도 오산시 원동 826-1 826 1 대우푸르지오 84.616 200511 29 7,800 - 8 - - 2005 남부대로 411-15 - - - -
8 경기도 오산시 원동 826-1 826 1 대우푸르지오 84.557 200511 29 17,480 - 3 - - 2005 남부대로 411-15 - - - -
9 경기도 광주시 곤지암읍 곤지암리 459 459 0 쌍용1 84.97 200511 29 13,000 - 16 - - 1998 곤지암로 120 - - - -
10 경기도 시흥시 대야동 275 275 0 삼보 70.71 200511 29 8,150 - 6 - - 1991 은행로 188-15 - - - -
11 경기도 광주시 곤지암읍 삼리 125-1 125 1 곤지암킴스빌리지 35.63 200511 29 3,300 - 10 - - 2001 평촌길 20 - - - -
12 경기도 부천시 소사구 송내동 336-6 336 6 동신(336-6) 69.48 200511 29 7,100 - 5 - - 1985 경인로29번길 73 - - - -
13 경기도 부천시 소사구 송내동 372 372 0 푸르지오 59.8 200511 29 15,950 - 5 - - 2005 중동로 64 - - - -

--
CSV를 파싱해서 파이썬 3.12버전을 문법에 맞춰 mongodb에 insert하는 스크립트를 작성해줘
NO 컬럼은 mongodb에 insert/update하지 않아도 돼
csv파일은 첫번째부터 15번째행 까지 파일에 대한 설명이 적혀있고, 16번째 행에는 컬럼 이름들이 있어 그리고 17번째 행부터 실제 매매 정보가 표시되
단 16번째 행에 컬럼들이 나오기는 하지만 꼭 동일하지는 않을 수 있으니, 컬럼 이름이 나올 때 까지의 행은 mongodb에 insert/update하면 안되야해
그리고 컬럼중 해제사유발생일 이라는 컬럼이 있어
이 컬럼은 아파트 매매를 계약 했는데 해제했을 때 값이 채워지는 컬럼이야
예를 들어 계약년월 200512, 계약일 12에 계약을 했는데 2006년 1월 12일에 계약이 해제될 수 있어 이때 "해제사유발생일"이라는 컬럼이 업데이트 될꺼야
해제사유발생일은 언제 발생될지 모르기 때문에 row를 insert할 때 해제사유발생일 컬럼 외에 다른 정보들이 동일한 행이 있다면 그 row에 해제사유발생일 정보만 업데이트하도록 코드를 작성해줘

그리고 전월세 실거래가 정보를 업데이트 하는 코드는 아래와 같이 이어서 생성해달라고 하였습니다.

아래는 아파트 전월세 실거래가 기록을 저장한 CSV 파일의 일부입니다. 위의 아파트 매매 실거래가 정보를 mongodb에 insert/update하는 스크립트와 동일한 기능을 가지는 python 스크립트 작성해줘. 전월세 실거래가에서는 "해제사유발생일"이라는 컬럼이 없어.


>아파트 매매 실거래가 파일<

>아파트 전월세 실거래가 파일<


그래서 기본 데이터는 한땀 한땀 다운받은 CSV로 만들어 놓고 한달에 한번씩 서울시와 경기도 구별로 API로 mongoDB에 적재하는 식으로 사용해보고자 합니다. 

그럼에도 불구하고 API를 사용한 적재 방법이 느리다면 걍 매달 한번씩 업데이트 해야겠죠;; 

조만간 mongoDB에 적재된 데이터 이후에 대로 증분이 필요한 데이터만 끌고오도록 API를 사용한 스크립트를 생성해서 올려보겠습니다. :)



출처: @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