Crawler Code Generator
UV 환경에서 Selenium, BeautifulSoup4, Requests를 사용하는 크롤링 코드를 자동 생성합니다.
워크플로우
1단계: 사이트 분석 (Playwright)
사용자가 URL을 제공하면:
mcp__playwright__browser_navigate로 URL 접속mcp__playwright__browser_wait_for로 페이지 로드 대기 (2-3초)mcp__playwright__browser_snapshot으로 DOM 구조 확인mcp__playwright__browser_network_requests로 네트워크 요청 분석mcp__playwright__browser_close로 브라우저 종료
2단계: 라이브러리 결정
네트워크 요청 분석 결과에 따라:
| 조건 | 선택 라이브러리 |
|---|---|
| JSON API 응답 발견 (XHR/Fetch) | Requests (API 직접 호출) |
| 페이지 로드 후 AJAX 호출 감지 | Selenium + webdriver-manager |
| 즉시 HTML에서 데이터 확인됨 | Requests + BeautifulSoup4 |
3단계: UV 프로젝트 생성
uv init crawler-project
cd crawler-project
uv add selenium webdriver-manager beautifulsoup4 requests pandas
4단계: 코드 생성
템플릿 참조:
- 정적 페이지: assets/static-crawler-template.py
- 동적 페이지: assets/dynamic-crawler-template.py
- API 호출: assets/api-crawler-template.py
코드 생성 규칙 (필수)
- 클래스 기반 구조 - 재사용성을 위해 클래스로 구현
- User-Agent 헤더 - 봇 차단 방지
- 에러 핸들링 - try-except 블록 필수
- CSV 출력 - pandas를 사용한 CSV 저장
- 전체 코드 출력 - 부분 코드 금지, 실행 가능한 전체 코드만
출력 규칙
- 진행 표시 없이 결과 코드만 출력
- 불필요한 설명 제외
- 코드 일부만 출력 금지 (항상 전체 코드)
금지 사항
- 사이트 특성과 맞지 않는 라이브러리 선택 금지
- 코드 일부만 출력 금지
UV 명령어 참조
자세한 내용: references/uv-setup.md
라이브러리 선택 가이드
자세한 내용: references/library-selection-guide.md
Superpowers 연계
이 스킬 실행 중 아래 superpowers 원칙을 적용한다.
| 원칙 | 적용 시점 | 적용 방법 |
|---|---|---|
verification-before-completion | 코드 생성 후 | 생성된 크롤러를 1회 실행하여 출력 검증 |
systematic-debugging | 크롤러 실패/빈 데이터 시 | 네트워크·셀렉터·인증 순서로 체계적 진단 |
test-driven-development | 코드 생성 시 | 기대 출력 구조(스키마) 정의 후 구현 |
관련 스킬/에이전트
| 도구 | 역할 | 관계 |
|---|---|---|
web-crawler-builder | URL 탐색~검증 전체 파이프라인 에이전트 | Invoke (web-crawler-builder → 이 스킬, Phase 3에서 호출) |