Skip to content

pol112ii/polnews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

103 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📰 데일리 뉴스 브리핑 (polnews)

🚔 경찰 · 🏠 부동산 · 📈 주식 세 가지 주제의 뉴스 기사를 매일 아침 5시부터 밤 11시까지 매시간(한국시간) 자동으로 수집하고, 여러 언론사가 보도한 순서(언급 수) 로 주요 이슈를 뽑아 탭으로 나눠 보여주는 웹앱입니다. 서버 비용 없이 GitHub 만으로 돌아갑니다.

어떻게 동작하나요?

매시간 (KST 05:00~23:00, GitHub Actions cron)
  → scraper/scrape.py 실행 — 주제(경찰/부동산/주식)마다:
      · 구글 뉴스 RSS에서 주제별 키워드로 최근 24시간 기사 수집
      · 오늘 이미 수집한 기사와 병합 (하루 동안 계속 누적)
      · 구글 리다이렉트 링크를 짧은 원문 기사 URL로 변환 (메신저 공유용)
      · 제목 유사도로 같은 사건 기사를 묶어 "몇 개 언론사가 보도했는지" 계산
      · 많이 보도된 순으로 🔥 오늘의 주요 이슈 TOP 5 선정
      · docs/data/<주제>/YYYY-MM-DD.json 으로 저장 후 자동 커밋
  → GitHub Pages가 docs/ 폴더를 웹사이트로 제공
  • 스크래퍼: scraper/scrape.py — 파이썬 표준 라이브러리만 사용 (설치할 패키지 없음)
  • 자동 실행: .github/workflows/scrape.yml — 매시간 cron (KST 05~23시)
  • 웹앱: docs/index.html — 주요 이슈 랭킹, 날짜별 조회, 텍스트 복사(메신저 공유용)

무료로 돌아가는 이유

  • 공개(public) 저장소는 GitHub Actions 실행 시간과 GitHub Pages 호스팅이 모두 무제한 무료입니다.
  • 하루 19회 × 1~2분 실행이라 비공개 저장소 무료 한도(월 2,000분)로도 충분하지만, Pages는 공개 저장소에서만 무료이므로 공개 저장소를 권장합니다.
  • 뉴스(구글 뉴스 RSS)와 날씨(open-meteo) 모두 API 키가 필요 없는 무료 소스입니다.

처음 설정하기 (한 번만)

  1. 이 브랜치를 main에 머지합니다. (GitHub Actions의 예약 실행(cron)은 기본 브랜치에서만 동작합니다)
  2. 저장소 Settings → Pages 에서
    • Source: Deploy from a branch
    • Branch: main, 폴더: /docs 선택 → Save
  3. Actions 탭 → "뉴스 스크랩" → Run workflow 를 눌러 한 번 수동 실행합니다. (샘플 데이터가 실제 기사로 교체됩니다)
  4. 몇 분 뒤 https://pol112ii.github.io/polnews/ 에서 확인하세요.

이후에는 매시간 자동으로 갱신되고, 새벽 5시 실행이 그날의 첫 브리핑이 됩니다.

커스터마이징

scraper/scrape.py 상단의 설정만 고치면 됩니다.

설정 설명
TOPICS 주제(탭) 목록 — 각 주제의 검색어(queries)와 섹션(sections) 정의. 항목을 추가하면 탭이 하나 늘어난다
TOP_ISSUE_COUNT 주요 이슈로 뽑을 개수 (기본 5)
TOP_ISSUE_MIN_SOURCES 주요 이슈 최소 보도 언론사 수 (기본 2)
SIMILARITY_THRESHOLD 같은 사건으로 묶는 제목 유사도 기준 (기본 0.5)

수집 시간대를 바꾸려면 .github/workflows/scrape.yml 의 cron을 수정하세요. cron은 UTC 기준이라 한국시간에서 9시간을 빼야 합니다. (예: KST 05시 = UTC 20시)

알아둘 점

  • GitHub Actions 예약 실행은 정각이 아니라 수 분~수십 분 늦게 시작될 수 있습니다 (GitHub 공식 안내 사항).
  • 구글 뉴스 RSS 링크는 구글의 리다이렉트 주소라 클릭하면 원문 기사로 이동합니다.
  • 60일 이상 저장소에 활동(커밋)이 없으면 GitHub가 예약 실행을 자동으로 멈추는데, 이 프로젝트는 매시간 데이터 커밋이 생기므로 해당되지 않습니다.

About

news

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages