Skip to content

[FEAT] contest api 구현 #104

Description

@qkwltkwkd1

💼 작업 설명

Linkareer 공모전 목록/상세 페이지를 크롤링하여 공모전 원문 데이터를 수집하고,
Gemini 기반 AI 가공을 통해 CONTEST 핀 및 CARDNEWS 데이터를 생성하는 전체 파이프라인을 구현한다.
최종적으로:
Linkareer
→ contest_documents.jsonl
→ CONTEST transform
→ CARDNEWS transform
→ DB handoff
흐름을 구성하는 것을 목표로 한다.

🛠 하위 태스크

  • Linkareer 공모전 목록 페이지 크롤링 구현
  • 공모전 상세 페이지 URL 수집 로직 구현
  • 상세 페이지 데이터 파싱
  • 공모전 제목 추출, 공모전 본문 추출, 원본 이미지 URL 추출, source_url 저장, 모집 시작일 / 종료일 추출, host_org 추출
  • /activity/{id} 기반 contentid 생성
  • contest_documents.jsonl 저장 로직 구현
  • 종료된 공모전 필터링 처리
  • 기존 contentid 기준 중복 skip 처리
  • Playwright 기반 브라우저 크롤링 환경 구성
  • 크롤링 delay 및 rate limit 적용
  • 공모전 원문(pin_content_raw) 기반 AI 요약 transform 구현
  • CONTEST 핀(pin_type=CONTEST) 생성 로직 구현
  • CARDNEWS 슬라이드 생성 transform 구현
  • 크롤링 정책 및 robots.txt 확인 문서화

✅ 추가 사항

  • 추후 스케줄러(APScheduler/Cron) 연동 고려

Metadata

Metadata

Assignees

Labels

⭐ feat새로운 기능

Fields

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions