티스토리 뷰
목차
아침마다 뉴스 사이트를 열어도 정작 필요한 기사를 놓칠 때가 있다. ChatGPT API·파이썬 뉴스 요약 자동화는 관심 정보를 모아 짧게 정리하고 메신저로 전달하는 방식이다.
개인적으로 자료를 비교하며 중요하다고 느낀 점은 요약의 길이보다 출처와 수집 범위였다. 기본 흐름은 수집 → 선별 → 요약 → 전송 → 예약 실행으로 잡는다.

RSS 뉴스 수집
요약: RSS 제공 내용과 기사 본문을 구분해 수집한다.
feedparser로 RSS를 읽고 제목·링크·발행일·항목 ID를 추출한다. 관심 키워드와 수집 기간으로 대상을 좁히고, 이미 보낸 항목은 걸러내도록 설계한다.
RSS 설명은 전문이 아닐 수 있다. 내용이 짧다면 ‘RSS 제공 내용 기준 요약’이라고 표시하는 편이 정확하다.
RSS가 없으면 수집이 허용된 페이지를 requests로 읽고 Beautiful Soup으로 본문 영역을 추출한다. 이용 조건과 robots.txt도 확인한다.

파이썬 환경 준비
요약: 필요한 패키지와 API 인증 정보를 준비한다.
openai·feedparser·requests·beautifulsoup4 패키지를 설치한다. 흔히 ChatGPT API라고 부르지만 실제 호출은 OpenAI API로 처리한다.
OpenAI API 키는 OPENAI_API_KEY 환경 변수에 넣는다. 키는 서비스에 접근하는 비밀번호처럼 다루고, 공개 코드나 블로그 화면에 노출하지 않는다.
AI 요약 기준
요약: 수집한 자료에 근거해 사실과 해석을 나눈다.
OpenAI()로 클라이언트를 만든 뒤 client.responses.create()를 호출한다. model에는 사용할 모델, instructions에는 요약 규칙, input에는 수집한 기사 내용을 넣고 output_text로 결과를 읽는다.
제공된 사실만 요약하고, 날짜·수치를 추측하지 않으며, 부족한 정보는 확인 불가로 표시한다’는 규칙을 권장한다. 원문 링크는 수집한 URL을 붙인다.
개인적으로는 기사 내용을 압축한 문장과 업무상 참고할 해석을 구분하는 편이 좋다고 본다. 읽기 편한 문장이 사실 검증까지 대신하는 것은 아니기 때문이다.

슬랙·텔레그램 전송
요약: 수신 채널에 맞는 인증 정보와 발송 방식을 선택한다.
슬랙은 앱에서 Incoming Webhooks를 켜고 게시할 채널을 승인한다. 발급된 URL로 요약문을 담은 text 필드를 JSON 형식으로 POST한다. Webhook URL도 비밀값이다.
텔레그램은 BotFather에서 새 봇의 토큰을 발급받는다. 봇에 시작 메시지를 보낸 뒤 getUpdates 응답의 message.chat.id를 확인한다. sendMessage에 이 값을 chat_id로, 요약문을 text로 전달한다.
메시지는 엔터티 파싱 후 4,096자 한도이므로 긴 요약은 기사 단위로 나눈다.
아침 예약 실행
요약: 실행 환경과 시간대를 함께 지정한다.
GitHub Actions에 코드 체크아웃, Python 준비, 패키지 설치, 스크립트 실행 순서를 등록한다. 키와 토큰은 Secrets에 저장해 실행 단계의 환경 변수로 전달한다.
한국 시간 아침 7시 10분 실행 예시는 cron을 10 7 * * *로, timezone을 Asia/Seoul로 지정하는 구성이다. 혼잡하면 실행이 지연될 수 있어 정각 도착을 보장하는 방식은 아니다.
비용·중복 관리
요약: 요약 분량과 발송 이력을 관리해 낭비를 줄인다.
API 비용은 모델과 입력·출력 토큰에 따라 달라진다. 기사 수와 입력 길이에 상한을 두고 사용량을 확인하는 편이 합리적이다. 공식 가격
요청에는 타임아웃을 설정하고 일시적 오류는 횟수를 제한해 재시도한다. 발송 성공을 확인한 뒤 기사 ID와 수신 대상별 이력을 실행 후에도 유지되는 저장소에 남긴다. 다만 발송 후 기록에 실패하면 중복될 수 있어 실행 로그도 확인한다.
마치는 글과 요약
요약: 시험 수신을 확인한 뒤 예약 실행을 시작한다.
처음에는 소량의 기사로 요약·링크·수신 내용을 확인한다. 수집 실패와 새 기사 없음도 구분해 기록하면, 알림이 없는 이유를 찾기 쉽다.
**좋은 뉴스 자동화는 읽을 양을 줄이면서 원문을 확인할 길을 남기는 구성이다.
**
필요한 이웃에게 공유하고, 받아보고 싶은 뉴스 분야나 막힌 설정은 댓글로 남겨도 좋다.
#ChatGPTAPI #파이썬자동화 #뉴스요약 #RSS #OpenAIAPI #슬랙자동화 #텔레그램봇 #업무자동화 #아침브리핑 #생산성
검증 출처
- 출처: OpenAI — Python SDK와 Responses API
- 출처: OpenAI — 텍스트 생성과 요약 지시
- 출처: OpenAI — API 가격
- 출처: OpenAI — 호출 제한과 재시도
- 출처: feedparser — RSS 제목·링크·발행일·ID
- 출처: feedparser — RSS 설명 필드
- 출처: Requests — 타임아웃과 요청 오류
- 출처: Beautiful Soup — 본문 텍스트 추출
- 출처: IETF — robots.txt 표준
- 출처: Slack — Incoming Webhook 전송
- 출처: Telegram — 봇 생성과 토큰 발급
- 출처: Telegram — Bot API와 메시지 발송
- 출처: GitHub — Python 실행 환경 구성
- 출처: GitHub — 예약 실행과 시간대
- 출처: GitHub — Secrets와 환경 변수
'업무자동화' 카테고리의 다른 글
| Zapier Gmail 첨부파일 자동 저장: 구글 드라이브 발신자·제목별 분류법 (0) | 2026.09.12 |
|---|---|
| 칼퇴를 부르는 업무 자동화! Make vs Zapier 비교 및 스마트한 사용법 (0) | 2026.09.11 |
| 노션 Make 연동 방법, DB 새 항목을 구글 드라이브·메일로 자동 전송 (0) | 2026.09.10 |
| 스마트한 업무 파트너! ChatGPT vs Claude 완벽 비교 및 생산성 활용법 (0) | 2026.09.09 |
| 스마트한 시간 관리! 업무 몰입도를 높이는 무료 타임 트래킹 앱 Clockify(클락키파이) 사용법 (1) | 2026.09.08 |