경매정보사이트에서 대법원 경매정보를 받아오는 방식

한국의 민간 경매정보사이트(지지옥션, 굿옥션, 옥션원, 스피드옥션 등)가 대법원 법원경매정보(courtauction.go.kr)의 데이터를 받아오는 방식은 크게 보면 다음 4가지 기술 구조로 이루어져 있습니다.


1. 전체 구조 개요 (핵심 요약)

대법원 내부 DB

법원경매정보 웹사이트 (courtauction.go.kr)

(비공식 방식)
HTML 요청 / AJAX 요청 / hidden API 호출

민간 경매사이트 크롤러

자체 DB 저장

데이터 가공 (권리분석, 지도, 임대차분석 등)

유료 서비스 제공

즉, 공식 API를 받아오는 것이 아니라
웹 요청 분석 후 자동 수집(crawling + scraping)이 핵심입니다.


2. 대법원 경매정보 시스템 자체 구조

대법원 경매정보는:

  • 전국 법원의 경매 데이터를 통합 제공하는 공식 포털이며
  • 회원가입 없이 대부분의 검색 및 자료 열람이 가능합니다.

하지만 중요한 점:

✔ 공식 공개 REST API 없음
✔ 대신 웹페이지 요청 기반 데이터 제공
✔ 내부적으로는 DB → 웹페이지 렌더링 구조


3. 민간 경매사이트가 데이터를 가져오는 실제 기술 방식

방식 1. HTML Scraping (가장 기본 방식)

예:

https://www.courtauction.go.kr/RetrieveRealEstMulDetailList.laf

크롤러가 하는 일:

  1. HTTP 요청 전송
  2. HTML 수신
  3. BeautifulSoup 등으로 파싱
  4. DB 저장

실제 구현 예:

  • requests
  • BeautifulSoup
  • delay 적용 (IP 차단 방지)

예시 코드 구조:

import requests
from bs4 import BeautifulSoupurl = "https://www.courtauction.go.kr/RetrieveRealEstMulDetailList.laf"
params = {
"jiwonNm": "서울중앙지방법원",
"page": "1"
}res = requests.get(url, params=params)
soup = BeautifulSoup(res.text, "html.parser")items = soup.select(".Ltbl_list tbody tr")

방식 2. Hidden API / AJAX 엔드포인트 직접 호출 (핵심 방식)

실제 사이트는 내부적으로 AJAX 요청을 사용합니다.

예:

/RetrieveRealEstMulDetailList.laf
/RetrieveRealEstMulDetailInfo.laf
/RetrieveRealEstMgakNotifySrch.laf

이것은 JSON 또는 HTML fragment 반환

민간 사이트는:

✔ 브라우저 없이 직접 호출
✔ 자동화 크롤링


방식 3. Session / Cookie 기반 요청

법원 사이트 특징:

  • 세션 필요
  • Referer 체크
  • 일부 POST 방식

크롤러는 다음을 처리:

Session 생성
→ Cookie 유지
→ POST 요청
→ 결과 저장

예:

session = requests.Session()
session.get(main_url)data = {
"jiwonNm": "서울중앙지방법원",
"page": "1"
}res = session.post(search_url, data=data)

방식 4. 문서 파일 직접 다운로드

경매 정보에는:

  • 감정평가서
  • 현황조사서
  • 매각물건명세서

이 파일도 URL 기반 다운로드 가능

예:

/RetrieveFile.laf?filename=...

크롤러가 자동 다운로드 후 DB 저장


4. 실제 민간 경매사이트의 내부 시스템 아키텍처

실제 구조 (현업 기준):

Crawler 서버
├ Scheduler (cron)
├ HTTP Client
├ Parser↓
중간 처리 서버↓
Database
├ 사건 테이블
├ 물건 테이블
├ 기일 테이블
├ 문서 테이블↓
분석 서버
├ 권리 분석
├ 가격 분석
├ 지도 매핑↓
Web / Mobile 서비스

GitHub 예시에서도 crawler → DB → REST API 구조 사용


5. 크롤링 주기

일반적으로:

데이터주기
사건 등록하루 1~4회
물건 정보하루 1회
기일 변경하루 1회
낙찰 결과실시간 또는 1~3시간

예시 crawler:

repeat -1 86400

→ 하루 1회 실행


6. 민간 경매사이트가 단순 복사가 아닌 이유

단순 데이터 복사가 아니라 추가 분석 수행:

추가 데이터:

  • 임차인 분석
  • 권리분석 자동화
  • 시세 비교
  • 지도 표시
  • 낙찰 통계

즉:

대법원 데이터 = Raw Data민간 사이트 = Raw Data + Analysis + UX

7. 크롤링 차단 회피 기술

법원 사이트는 차단 기능 존재:

  • IP 차단
  • 요청 속도 제한
  • Session 검사

민간 사이트 대응:

  • 요청 딜레이 적용
  • Proxy 사용
  • 분산 크롤링
  • Cache 활용

8. 실제 hidden endpoint 예시 (핵심)

대표 endpoint:

RetrieveRealEstMulDetailList.laf
RetrieveRealEstMulDetailInfo.laf
RetrieveRealEstMgakNotifySrch.laf
RetrieveRealEstMgakResultSrch.laf
RetrieveRealEstSaDetail.laf

이 endpoint들이 실제 데이터 source입니다.

웹페이지는 이것을 단순 표시만 합니다.


9. 공식 API가 없는 이유

대법원은:

✔ Open API 공식 제공 없음
✔ 웹사이트 조회만 허용

따라서 민간 서비스는:

→ 비공식 방식 (scraping)


10. 민간 경매사이트 기술 수준별 차이

초급 사이트

  • 단순 HTML scraping

중급 사이트

  • hidden endpoint 직접 호출

고급 사이트 (지지옥션, 굿옥션)

  • 전체 사건 DB 구축
  • 변경사항 diff 업데이트
  • 자체 분석 엔진

11. 실제 산업 표준 아키텍처 (현업 기준)

법원 서버

크롤러 Cluster

Raw DB

ETL 처리

분석 DB

검색 서버 (ElasticSearch)

Web / App 서비스

12. 핵심 결론 (중요)

민간 경매사이트는 다음 방식으로 데이터를 가져옵니다:

✔ 공식 API 없음
✔ hidden HTTP endpoint 호출
✔ HTML / AJAX scraping
✔ crawler 자동 실행
✔ 자체 DB 저장 후 가공

즉:

👉 “웹 scraping 기반 비공식 데이터 수집”


13. 원하시면 추가로 설명 가능

다음도 기술적으로 상세 분석 가능:

  • 실제 endpoint URL 리스트 전체
  • Python 크롤러 구현 예제
  • Selenium vs requests 방식 비교
  • IP 차단 회피 기술
  • 민간 경매사이트 아키텍처 설계 방법

링크 : 민간 경매사이트 아키텍처 설계 방법

Similar Posts