공공데이터 크롤러 만들기
Playwright · http_utils · APScheduler 로 윤리적 크롤러를 짓는 6단계.
- 난이도
- intermediate
- 강의
- 6
공공데이터 크롤러 만들기
NPS · DART · HIRA 같은 공공 데이터는 누구나 접근 가능하지만 자동화에는 규칙이 있습니다. robots.txt · rate limit · 이용약관. 윤리적이고 지속 가능한 크롤러를 짓는 6 단계.
누구를 위한 강좌인가
- 공공데이터 포털 대신 직접 수집 · 가공이 필요한 분
- 크롤러가 차단당해 본 경험이 있는 분
- 증분 수집 · 스케줄 · 관측 체계를 갖추고 싶은 분
다 끝내면 가능한 것
- Playwright 로 동적 페이지 · BS4 로 정적 페이지 분리
- robots.txt + rate limit + backoff 규칙 적용
- APScheduler 로 KST 기반 스케줄
- 공공 API · 관계부 공개 CSV · 웹 크롤링 조합
- 증분 수집 · 중복 해소 · 체크포인트
- 헬스체크 · 실패 알림
단계 흐름
[1] 윤리·법 ──▶ [2] 도구 선택 ──▶ [3] rate limit ──▶ [4] 스케줄
│
▼
[6] 관측·알림 ◀── [5] 증분·중복
크롤러는 "외부 사이트를 침범하지 않으면서 우리 DB 를 비손실로 갱신" 이 목표. 위 흐름은 그 두 축을 차례로 보강합니다.
단계 구성
- 크롤러 윤리 · 법적 경계 — robots.txt · 이용약관 · 개인정보
- 정적 vs 동적 — BS4 + Playwright — 언제 어떤 도구
- rate limit · 재시도 · backoff — exponential + jitter
- APScheduler + KST 스케줄 — 멱등 ·
replace_existing=True· 중복 실행 방어 - 증분 수집 · 중복 해소 — 체크포인트 · unique key · 변경 감지
- 관측 · 알림 — 성공률 · latency · Slack · PagerDuty
전제 — python-data-pipeline 강좌 완주.
단계별 강의
다른 강좌
전체 보기 →- 처음 시작하는 개발 환경
- 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 · 계층 분리 사고