From e74d5e29a0296439784a536d8bd6b6896f9b0801 Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Fri, 15 May 2026 16:43:06 +0900 Subject: [PATCH] =?UTF-8?q?docs(news):=20RSS=20=ED=9B=84=EB=B3=B4=20?= =?UTF-8?q?=EB=AA=85=EB=8B=A8=20(PR-News-Prep-Layer-1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 약한 국가 (TW/HK/IN/CN 활성 2) 보강 후보 8건. 자동 HEAD 검증 4/8 ✅: - HKFP / The Hindu / TOI World / Caixin English URL 갱신 필요 4건 — Focus Taiwan / 自由時報 / Scroll.in / RTHK 사용자가 직접 RSS index 확인 후 갱신 + enable 결정. 본 PR INSERT 안 함. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/news_source_candidates.md | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 docs/news_source_candidates.md diff --git a/docs/news_source_candidates.md b/docs/news_source_candidates.md new file mode 100644 index 0000000..f55ac5c --- /dev/null +++ b/docs/news_source_candidates.md @@ -0,0 +1,55 @@ +# News Source 후보 명단 (PR-News-Prep-Layer-1) + +본 명단은 추천일 뿐 자동 INSERT 안 함. 사용자가 RSS feed 안정성 / 정치성·품질 / 중복도 확인 후 직접 `news_sources` 테이블에 INSERT 결정. + +작성: 2026-05-15. 약한 국가 (TW 1, HK 1, IN 1, CN 활성 2) 보강 우선. + +## 자동 검증 (HEAD 요청, 2026-05-15) + +| 국가 | 후보 | feed_url | language | category | HEAD 결과 | 비고 | +|---|---|---|---|---|---|---| +| HK | Hong Kong Free Press | `https://hongkongfp.com/feed/` | en | News | ✅ 200 (nginx) | 영문 독립 매체 | +| IN | The Hindu | `https://www.thehindu.com/news/feeder/default.rss` | en | News | ✅ 200 (application/xml) | 영문 메이저 | +| IN | Times of India - World | `https://timesofindia.indiatimes.com/rssfeeds/296589292.cms` | en | World | ✅ 200 (text/xml) | 영문 메이저 | +| CN | Caixin Global (english.caixin.com) | `https://english.caixin.com/feed/rss` | en | Economy | ✅ 200 (after 301 ×2) | 경제 중심, 검열 상대적 적음. www.caixinglobal.com 도메인은 404 | +| TW | RTHK English ※ HK 임 정정 | `https://www.rthk.hk/rthk/news/rss/e_expressnews_elocal.xml` | en | News | ⚠️ 301 (redirect) | Location 따라간 후 enable 결정. HK 공영방송 | +| TW | Focus Taiwan | `https://focustaiwan.tw/rss/aALL` | en | News | ❌ 404 | URL 갱신 필요 (사이트 RSS index 확인) | +| TW | 自由時報 | `https://news.ltn.com.tw/rss/all.xml` | zh | News | ❌ 403 (bot 차단) | UA 헤더 필요 또는 다른 RSS path | +| IN | Scroll.in | `https://scroll.in/feed.xml` 또는 `/feeds/all.rss` | en | News | ❌ 404 | URL 갱신 필요 (사이트 RSS index 확인) | + +## 권장 우선순위 (즉시 enable 가능) + +사용자가 (a) RSS 1회 fetch entries > 0 (b) 정치성/품질 (c) 중복도 판단 후: + +1. **Hong Kong Free Press** (HK 보강, 현재 1→2) +2. **The Hindu** (IN 보강, 현재 1→2) +3. **Times of India World** (IN 보강, 현재 1→2 또는 3) +4. **Caixin English** (CN 활성 2→3, 경제 중심 다양화) + +위 4건 추가 시 — HK 2 / IN 3 / CN 활성 3 = 약한 국가 보강 완료. + +## URL 갱신 필요 (별도 사용자 작업) + +- Focus Taiwan / 自由時報 / Scroll.in / RTHK English — 각 사이트 RSS index 페이지 방문하여 최신 feed URL 확인 후 후보 갱신. + +## INSERT 예시 (사용자가 enable 결정 후) + +```sql +-- 예시: Caixin English 추가 (사용자 SQL, 본 PR 에는 미포함) +INSERT INTO news_sources (name, country, feed_url, feed_type, category, language, enabled) +VALUES + ('Caixin English Economy', 'CN', 'https://english.caixin.com/feed/rss', 'rss', 'Economy', 'en', true), + ('Hong Kong Free Press', 'HK', 'https://hongkongfp.com/feed/', 'rss', 'News', 'en', true), + ('The Hindu', 'IN', 'https://www.thehindu.com/news/feeder/default.rss', 'rss', 'News', 'en', true), + ('Times of India World', 'IN', 'https://timesofindia.indiatimes.com/rssfeeds/296589292.cms', 'rss', 'World', 'en', true); +``` + +INSERT 후 `news_collector` 다음 fire (6h interval) 시 자동 수집 시작 + `feedparser bozo=0` 검증 + 1주 안정성 (`last_fetched_at` 정상 갱신) 관찰. + +## 검토하지 않는 국가 + +KR/US/JP/FR/DE 는 이미 활성 4~8 소스로 충분. 본 라운드 추가 권장 X. 추가 시 카테고리 다양성 (경제/기술/문화) 우선. + +## 죽은 source (별도 D26 Drift Log) + +- `新华网 Culture / Sci-Tech / World` (id=11/12/19): 2026-04-13 이후 `last_fetched_at` 미갱신. 이미 `enabled=false`. 부활 보류 (CN RSS 검열/접속 안정성). 삭제 X, 향후 endpoint 변경 발견 시 enable 토글.