📊 크롤링 데이터 명세서

각 데이터 소스로부터 수집하는 데이터의 상세 명세서입니다.

CN드림 (CNDreams)

❌ 비활성
타입: 커뮤니티 사이트
방식: HTML 파싱 (목록 + 상세 페이지)
수집 데이터:
title
url
content
author
postedAt
views
location
category
externalId

밴조선 (Vanchosun)

⚠️ 부분적
타입: 커뮤니티 사이트
방식: HTML 파싱 (목록 페이지만)
수집 데이터:
title
url
content
author
postedAt
views
location
category
externalId

CBC Calgary

✅ 활성
타입: 뉴스 RSS 피드
방식: RSS XML 파싱
수집 데이터:
title
url
content
author
postedAt
views
location
category
externalId

데이터베이스 스키마

Posts 테이블

id
title
url
content_raw
author
posted_at
metadata
source_id
board_id
external_id

Sources 테이블

id
name
base_url
kind
enabled
rate_limit_sec

Source_boards 테이블

id
source_id
board_name
url
type
rss
selectors

크롤링 프로세스

수동 크롤링 (현재)

1
웹 UI에서 크롤링 버튼 클릭
2
/api/crawl 엔드포인트 호출
3
CrawlerServiceV2 실행
4
각 소스별 파서로 데이터 수집
5
데이터베이스에 저장

자동 크롤링 (예정)

1
Vercel Cron Jobs
2
6시간마다 자동 실행
3
모든 활성 소스 크롤링
4
AI 파이프라인 실행
5
이메일 발송