Dacon Competition Info Collector
데이콘 공모전 페이지에서 정보를 수집하여 프로젝트 루트의 dacon-info/ 폴더에 마크다운 파일로 저장합니다.
Purpose
데이콘 공모전 참가를 위한 메타정보 자동 수집:
- •대회 개요, 평가 기준, 규칙
- •일정, 상금 정보
- •데이터 설명 (다운로드 링크 제외)
Output Structure
code
{project-root}/
└── dacon-info/
├── overview.md # 개요
├── evaluation.md # 평가 기준
├── rules.md # 규칙
├── schedule.md # 일정
├── prize.md # 상금
├── agreement.md # 동의사항
└── data.md # 데이터 메타정보
Execution
Phase 1: URL 입력 받기
AskUserQuestion 도구를 사용하여 공모전 URL을 입력받습니다.
code
AskUserQuestion:
question: "수집할 데이콘 공모전 URL을 입력해주세요"
header: "Dacon URL"
options:
- label: "URL 직접 입력"
description: "예: https://dacon.io/competitions/official/236455"
URL 검증:
- •형식:
https://dacon.io/competitions/official/{competition_id}또는https://dacon.io/competitions/open/{competition_id} - •잘못된 형식이면 올바른 예시 제공 후 재입력 요청
Phase 2: 출력 디렉토리 준비
bash
mkdir -p ./dacon-info
URL에서 대회 ID 추출:
code
https://dacon.io/competitions/official/236455/overview → competition_id: 236455 → competition_type: official
Phase 3: 페이지별 정보 수집
각 탭에 대해 순차적으로 다음 작업 수행:
| 순서 | 탭 | URL 경로 | 출력 파일 |
|---|---|---|---|
| 1 | 개요 | /overview | overview.md |
| 2 | 평가 | /overview/evaluation | evaluation.md |
| 3 | 규칙 | /rules | rules.md |
| 4 | 일정 | /overview/timeline | schedule.md |
| 5 | 상금 | /overview/prize | prize.md |
| 6 | 동의사항 | /rules 페이지 하단 | agreement.md |
| 7 | 데이터 | /data | data.md |
각 탭 수집 워크플로우:
code
1. browser_navigate(탭 URL) 2. browser_wait_for(time: 3) # 페이지 로딩 대기 3. browser_snapshot() # 페이지 구조 캡처 4. 콘텐츠 추출 및 정제 5. Write(마크다운 파일)
Phase 4: 완료 및 정리
code
1. browser_close() # 브라우저 종료 2. 수집 결과 요약 출력
Markdown Template
각 파일은 다음 형식을 따릅니다:
markdown
# {대회명} - {섹션명}
> 수집일: {YYYY-MM-DD}
> 출처: {URL}
---
{콘텐츠}
Content Extraction Rules
overview.md
- •대회 제목
- •대회 소개/설명
- •주최/주관 정보
- •배경 및 목적
evaluation.md
- •평가 지표 (Metric)
- •평가 방식 설명
- •Public/Private 리더보드 비율
rules.md
- •참가 자격
- •제출 제한
- •금지 사항
- •외부 데이터 사용 규정
- •팀 구성 규칙
schedule.md
- •대회 시작일
- •대회 종료일
- •중간 마감 (있는 경우)
- •결과 발표일
prize.md
- •총 상금
- •순위별 상금
- •부상 (있는 경우)
agreement.md
- •필수 동의 사항
- •개인정보 관련 사항
- •저작권 관련 사항
data.md
- •제공 데이터 목록
- •각 파일 설명
- •컬럼 설명 (있는 경우)
- •다운로드 링크는 제외
Error Handling
| 상황 | 대응 |
|---|---|
| 잘못된 URL 형식 | 올바른 형식 예시 제공 후 AskUserQuestion으로 재입력 요청 |
| 페이지 로딩 실패 | 3초 추가 대기 후 재시도, 2회 실패 시 해당 탭 스킵 |
| 로그인 필요 페이지 | 공개 정보만 수집, "로그인 필요" 안내 메시지 출력 |
| 빈 콘텐츠 | "[내용 없음 - 해당 정보가 제공되지 않았습니다]" 플레이스홀더 삽입 |
| 브라우저 미설치 | browser_install() 호출 후 재시도 |
Example Usage
사용자 요청:
code
/dacon
또는:
code
데이콘 236455 공모전 정보 수집해줘
실행 결과:
code
✓ 공모전 URL: https://dacon.io/competitions/official/236455 ✓ 대회명: 제1회 코드 유사성 판단 AI 경진대회 수집 완료: ✓ overview.md (1.2KB) ✓ evaluation.md (0.8KB) ✓ rules.md (2.1KB) ✓ schedule.md (0.5KB) ✓ prize.md (0.6KB) ✓ agreement.md (1.8KB) ✓ data.md (1.5KB) 저장 위치: ./dacon-info/
Notes
- •수집되는 정보는 공개된 메타정보만 포함합니다
- •실제 데이터셋 다운로드 링크는 포함하지 않습니다
- •로그인이 필요한 정보는 수집되지 않습니다