59 lines
2.4 KiB
Markdown
59 lines
2.4 KiB
Markdown
# 네이버 블로그 RSS 피드 내용 제한 문제
|
|
|
|
## 작성일: 2025-09-04
|
|
## 상태: 🟡 해결방안 제시
|
|
## 영향: 스타트업 뉴스 자동화 제한
|
|
|
|
## 문제
|
|
- **대상 블로그**: 깡프로 스타트업 트렌드 연구소 (https://blog.naver.com/startupventure)
|
|
- **RSS 피드**: https://rss.blog.naver.com/startupventure.xml
|
|
- **증상**: 블로그 본문 20개 뉴스 중 RSS description에는 8개만 포함
|
|
- **원인**: 네이버 RSS 피드의 description 필드 크기 제한
|
|
|
|
## 분석 결과
|
|
```xml
|
|
<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`
|