DOCS/troubleshooting/250904_naver_blog_rss_limitation.md

2.4 KiB

네이버 블로그 RSS 피드 내용 제한 문제

작성일: 2025-09-04

상태: 🟡 해결방안 제시

영향: 스타트업 뉴스 자동화 제한

문제

분석 결과

<description>
<![CDATA[ 
1. 8월 스타트업 투자, AI/딥테크/블록체인이 이끌었다 https://...
2. 버티컬AI 투자 열풍, VC 픽은 리걸테크 https://...
...
7. 삼성전자부터 뉴로메카....... <!-- 여기서 잘림 -->
]]>
</description>

네이버 블로그 파싱 제약

  1. JavaScript 동적 렌더링: 정적 HTML 파싱 불가
  2. iframe 구조: 실제 콘텐츠가 iframe 내부에 위치
  3. 스크래핑 방지: 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