공공데이터 크롤러 만들기
Playwright · http_utils · APScheduler 로 윤리적 크롤러를 짓는 6단계.
- 난이도
- 중급
- 강의
- 6
NPS · DART · HIRA 같은 공공 데이터는 누구나 접근 가능하지만 자동화에는 규칙이 있습니다. robots.txt · rate limit · 이용약관. 윤리적이고 지속 가능한 크롤러를 짓는 6 단계.
누구를 위한 강좌인가
- 공공데이터 포털 대신 직접 수집 · 가공이 필요한 분
- 크롤러가 차단당해 본 경험이 있는 분
- 증분 수집 · 스케줄 · 관측 체계를 갖추고 싶은 분
다 끝내면 가능한 것
- Playwright 로 동적 페이지 · BS4 로 정적 페이지 분리
- robots.txt + rate limit + backoff 규칙 적용
- APScheduler 로 KST 기반 스케줄
- 공공 API · 관계부 공개 CSV · 웹 크롤링 조합
- 증분 수집 · 중복 해소 · 체크포인트
- 헬스체크 · 실패 알림
단계 흐름
안전한 수집 파이프라인
윤리·법적 경계를 확인한 뒤 수집 도구를 고릅니다.
rate limit과 스케줄로 원본 시스템의 부하를 제한합니다.
증분 처리와 중복 제거로 재실행 가능한 저장 흐름을 만듭니다.
지표와 알림으로 실패와 데이터 지연을 발견합니다.
크롤러는 "외부 사이트를 침범하지 않으면서 우리 DB 를 비손실로 갱신" 이 목표. 위 흐름은 그 두 축을 차례로 보강합니다.
단계 구성
- 크롤러 윤리 · 법적 경계 — robots.txt · 이용약관 · 개인정보
- 정적 vs 동적 — BS4 + Playwright — 언제 어떤 도구
- rate limit · 재시도 · backoff — exponential + jitter
- APScheduler + KST 스케줄 — 멱등 ·
replace_existing=True· 중복 실행 방어 - 증분 수집 · 중복 해소 — 체크포인트 · unique key · 변경 감지
- 관측 · 알림 — 성공률 · latency · Slack · PagerDuty
전제 — python-data-pipeline 강좌 완주.
단계별 강의
다른 강좌
전체 보기 →- 운영 가능한 서비스 만들기 — 경계·성능·복구·배포 14단계
- 처음 시작하는 개발 환경
- HTML/CSS/JS 부터 React, Next, Tailwind 까지
- Next.js 16 으로 첫 풀스택 앱 만들기
- Spring Boot 4 로 시작하는 백엔드
- Python · FastAPI · 데이터 파이프라인
- AI 시대의 개발 도구 — Claude Code · MCP · 디자인 도구
- Docker · Caddy · 클라우드 10단계 배포 옵션
- 운영 콘솔 설계 — 여러 자원을 한 화면에서
- 로컬 LLM · pgvector · RAG 챗봇 만들기
- Tauri 2 — 데스크탑 · 모바일 한 코드베이스
- 테스트 전략과 품질 게이트
- 웹 보안의 기초 — JWT · OAuth · OWASP
- PostgreSQL 깊게 다루기 + Redis · Kafka
- 모노레포 · SSOT · 계층 분리 사고