2.4 KiB
2.4 KiB
네이버 블로그 RSS 피드 내용 제한 문제
작성일: 2025-09-04
상태: 🟡 해결방안 제시
영향: 스타트업 뉴스 자동화 제한
문제
- 대상 블로그: 깡프로 스타트업 트렌드 연구소 (https://blog.naver.com/startupventure)
- RSS 피드: https://rss.blog.naver.com/startupventure.xml
- 증상: 블로그 본문 20개 뉴스 중 RSS description에는 8개만 포함
- 원인: 네이버 RSS 피드의 description 필드 크기 제한
분석 결과
<description>
<![CDATA[
1. 8월 스타트업 투자, AI/딥테크/블록체인이 이끌었다 https://...
2. 버티컬AI 투자 열풍, VC 픽은 리걸테크 https://...
...
7. 삼성전자부터 뉴로메카....... <!-- 여기서 잘림 -->
]]>
</description>
네이버 블로그 파싱 제약
- JavaScript 동적 렌더링: 정적 HTML 파싱 불가
- iframe 구조: 실제 콘텐츠가 iframe 내부에 위치
- 스크래핑 방지: User-Agent 체크, Rate limiting
해결 방안
1. Playwright 브라우저 자동화 (추천)
- JavaScript 렌더링 완료 후 DOM 파싱
- 전체 20개 뉴스 항목 추출 가능
- 매일 자동 실행으로 슬랙 뉴스봇 구현
2. RSS + Playwright 하이브리드
- RSS로 최신 포스트 URL 획득
- Playwright로 해당 URL 방문하여 전체 내용 파싱
3. RSS만 활용 (제한적)
- 8개 헤드라인만으로 운영
- 중요 뉴스는 대부분 상단에 위치하므로 실용적
테스트 코드 필요
Playwright를 사용한 네이버 블로그 파싱 가능성 검증 필요
관련 서비스
- skill-news: 뉴스 수집 및 슬랙 전송 서비스
- 로빙 슬랙봇: 뉴스 전달 담당
확인된 사실 (핵심)
- 대상 RSS: https://rss.blog.naver.com/startupventure.xml (description 필드 크기 제한으로 약 8개 항목만 포함)
- 서비스/서버: skill-news (51124, 192.168.219.52), 포트 8505
- 헬스/파이프라인 엔드포인트:
GET /health,POST /api/news/search,POST /api/news/process/all,GET /api/news/latest,GET /api/news/status - Chroma 볼륨 매핑(docker-compose): 호스트
./data↔ 컨테이너/app/data - 경로/파일(데이터 영속): 컨테이너
/app/data/chroma↔ 호스트/home/admin/ivada_project/skill_news/data/chroma/chroma.sqlite3(확인 시 ~651KB) - 주요 환경변수(기본값):
CHROMA_DB_PATH=/app/data/chroma,CHROMA_COLLECTION_NAME=news_articles