여행 블로그 자동화 시스템
시즌별 여행지 선정부터 콘텐츠 생성, 이미지 삽입, 자동 발행까지 완전 자동화
720개
콘텐츠 조합
12개월 × 10여행지 × 6테마
매일 1-2회
자동 실행
node-cron 스케줄링
포스트당 5장
이미지 처리
Pexels API 자동 검색
내 역할
- ▸시스템 설계: 여행지 데이터베이스 구축 및 테마별 변주 로직 설계
- ▸AI 프롬프트 엔지니어링: Gemini 2.5 Pro에 최적화된 콘텐츠 생성 프롬프트 개발
- ▸API 통합: Pexels, Blogger, OAuth 2.0 인증 연동
- ▸커버리지 관리: 히스토리 추적으로 모든 조합 균등 분배 보장
핵심 기능
시즌별 여행지 자동 선정
월별 최적 여행지 데이터베이스(일본, 태국, 유럽, 동남아 등) 구축. 현재 월 기준 다음 1-2개월 여행지 자동 선택.
6가지 테마 변주
기본, 코스, 맛집, 가족, 커플, 가성비 테마로 동일 여행지도 다양한 각도로 콘텐츠 생성. 각 테마별 키워드 자동 추가.
Pexels 이미지 자동 수집
5단계 이미지 프롬프트 자동 생성 후 Pexels API로 실제 여행지 이미지 검색. 저작권 크레딧 자동 삽입.
Blogger API 자동 발행
OAuth 2.0 토큰 자동 갱신 후 Blogger API로 포스팅. 발행 실패 시 HTML 파일로 백업 저장.
기술 스택
Node.js 기반 자동화
핵심 라이브러리:
- @google/generative-ai - Gemini 2.5 Pro API 연동
- axios - Pexels API 및 Blogger API HTTP 요청
- node-cron - 스케줄링 (매일 오전 1시/4시)
- dotenv - 환경변수 관리
콘텐츠 생성 프롬프트 구조
여행지 정보(목적지, 기간, 시즌, 테마) 제공 →
5개 섹션 구조화(계획 가이드, 명소, 맛집, 숙소/교통, 체크리스트) →
각 섹션마다 IMAGE_PROMPT 자동 생성
이미지 검색 로직
영어 도시명 매핑(예: 도쿄→Tokyo) → Pexels API 검색(나라, 도시, 랜드마크 순) → landscape 이미지 20개 중 랜덤 선택 → 크레딧 정보 자동 추출
운영 환경
🟢
Node.js
런타임
🤖
Gemini 2.5 Pro
AI 콘텐츠 생성
📸
Pexels API
이미지 검색
📝
Blogger API
자동 발행
⏰
node-cron
스케줄러
🔐
OAuth 2.0
인증
💰
링크프라이스
어필리에이트
📄
JSON
히스토리 관리
실제 구현 내용
📊 데이터 구조
- • 12개월 × 10개 여행지 × 6개 테마 = 720개 조합
- • 각 월별 시즌 톤 자동 매핑 (겨울, 초봄, 봄, 여름, 가을 등)
- • 검색 피크 월 데이터로 항공권 예약 시기 안내
- • history.json으로 중복 방지 및 균등 분배
🎯 커버리지 보장 알고리즘
오래 사용 안 한 조합 우선순위 정렬 →
가중치 계산(시즌 적합도 × 랜덤) →
상위 1개 선택 →
history.json에 타임스탬프 기록🔗 어필리에이트 마케팅
- • 링크프라이스 숏링크 자동 삽입
- • 호텔 예약 카드 2개(아고다, 호텔스컴바인)
- • 유심 구매 카드 1개(유심사)
- • 반응형 디자인 + 모바일 최적화 HTML 생성
⚙️ 에러 핸들링
- • API 토큰 만료 시 자동 갱신(Refresh Token)
- • Pexels 검색 실패 시 Picsum 대체 이미지
- • Blogger 발행 실패 시 HTML 파일 백업
- • 컬러 코딩된 로그 시스템(INFO/SUCCESS/WARNING/ERROR)
실행 방법
# 즉시 실행
node travel_blog_automation.js --now
# 스케줄러 시작 (매일 오전 1시/4시 자동 실행)
node travel_blog_automation.js
# 테스트 모드
node travel_blog_automation.js --test
향후 개선 방향
- 📍더 많은 여행지 데이터 추가 (현재 120개 → 목표 300개)
- 📍다양한 블로그 플랫폼 지원 (Tistory, WordPress 등)
- 📍SEO 점수 자동 분석 및 최적화
- 📍실제 여행 후기 크롤링 및 통합