본문 바로가기
파이썬 업무자동화

파이썬 업무 자동화: 뉴스 요약 & 음성 변환 마스터하기

by yourpick 2024. 11. 2.

파이썬으로 뉴스 기사 요약하고 음성 변환까지?! 요즘처럼 정보가 넘쳐나는 시대에, 중요한 뉴스만 쏙쏙 뽑아서 듣고 싶은 욕구, 다들 있으시죠? 혹시 매일 반복되는 뉴스 스크랩, 요약, SNS 업로드 작업에 지쳐 있진 않으세요?

 

이제 파이썬과 몇 가지 꿀팁만 있으면 이 모든 걸 자동으로 해결할 수 있다는 사실, 알고 계셨나요?

 

저는 최근에 파이썬을 활용해서 뉴스 기사를 자동으로 요약하고, 심지어 음성으로 변환하는 작업까지 자동화해봤어요. 생각보다 훨씬 쉽고 간편하게 구현할 수 있었는데, 여러분들께도 이 꿀팁을 풀어드리고 싶어 이렇게 포스팅을 작성하게 되었어요!

 

이 포스팅에서는 뉴스 기사를 자동으로 요약하고, 음성으로 변환하는 방법을 단계별로 자세히 알려드릴게요. 특히, 제가 직접 사용해 본 Make.com과 같은 No-code 도구를 활용하는 방법과 파이썬 코드 예시까지 꼼꼼하게 준비했으니, 끝까지 따라오시면 여러분도 파이썬 업무 자동화의 매력에 푹 빠지실 거예요! 😉

 


파이썬으로 뉴스 기사 자동 요약: Make.com 활용하기

요즘처럼 정보가 쏟아지는 시대에, 뉴스 기사를 일일이 읽고 요약하는 건 정말 쉽지 않아요. 게다가 SNS에 공유까지 해야 한다면? 😫 시간이 얼마나 걸릴까요?

 

하지만 Make.com과 같은 No-code 플랫폼을 활용하면, 이 모든 과정을 자동화할 수 있어요.

 

Make.com은 다양한 서비스를 연결해서 자동화 워크플로우를 만들 수 있는 강력한 도구에요. 뉴스 기사를 검색하고 요약하고 SNS에 포스팅하는 일련의 과정을 Make.com에 연결하면, 마치 마법처럼 자동으로 진행된답니다. ✨

 


Make.com을 활용한 뉴스 기사 자동화 과정

1단계: 구글 스프레드시트에서 키워드 불러오기

 

우선, 구글 스프레드시트에 원하는 키워드를 입력해 놓아요. 예를 들어, '인공지능', '챗GPT', '업무 자동화' 등 관심 있는 키워드를 적어두면 됩니다. 그리고 구글 스프레드시트의 URL에서 스프레드시트 ID를 추출해야 해요. 스프레드시트 URL에서 '/d/' 뒤부터 다음 '/'까지가 바로 ID랍니다. Make.com에서 'Enter manually' 옵션을 선택하고, 이 ID를 입력하면 스프레드시트에 있는 키워드를 불러올 수 있게 됩니다.

 

저는 워크플로우를 간단하게 만들기 위해 키워드가 입력된 셀 하나를 지정해서 불러왔어요.

 

2단계: 키워드로 뉴스 검색하기

 

Make.com은 0CodeKit을 통해 파이썬 코드를 실행할 수 있어요. 😲 저는 News API를 활용해서 최근 30일 동안 입력한 키워드와 관련된 뉴스 기사를 추출하도록 설정했어요.

 

파이썬 코드를 직접 작성하는 게 걱정되신다면, 걱정 마세요! Claude 같은 AI 도구를 활용하면, 원하는 기능을 쉽게 구현할 수 있는 코드를 얻을 수 있어요.  저도 Claude와 대화를 통해 코드를 뚝딱 만들었답니다. 😉

 

잠깐! 0CodeKit을 사용할 때 몇 가지 주의사항이 있어요.

 

  • 한 달에 25번까지만 실행할 수 있다는 점, 기억해두세요!
  • 출력값은 'result'라는 변수에 딕셔너리 형태로 넣거나, return 문에 딕셔너리를 넣어야 Make.com에서 인식한다는 점도 중요해요. 예를 들어,  또는 처럼 작성하면 됩니다.

3단계: Claude로 뉴스 기사 요약하기

 

뉴스 API를 통해 가져온 기사들을 Claude에게 던져주면, 척척 요약해 줍니다. ✍️ Claude는 강력한 AI 모델이라, 기사의 핵심 내용을 짧고 명확하게 요약해주는 능력이 뛰어나요.

 

4단계: DALL-E로 관련 이미지 생성하기

 

뉴스 기사 내용과 관련된 이미지를 DALL-E를 통해 자동으로 생성할 수도 있어요. 🖼️ 요약된 뉴스 기사 내용을 DALL-E에게 전달하면, 해당 내용과 관련된 이미지를 만들어주기 때문에, SNS 포스팅에 시각적인 요소를 더할 수 있답니다.

 

5단계: 요약된 뉴스 메일로 전송 및 검토하기

 

Make.com에서 요약된 뉴스 기사를 메일로 전송하도록 설정해두면, 매일 아침 혹은 원하는 시간에 요약된 뉴스를 받아볼 수 있어요. ✉️ 메일로 받은 뉴스를 검토하고, 필요에 따라 수정하거나 보완할 수 있습니다.

 

6단계: 검토된 뉴스 SNS에 포스팅하기

 

마지막으로, 검토가 끝난 뉴스 기사를 Instagram이나 Facebook과 같은 SNS에 자동으로 포스팅합니다. 📢 각 뉴스 기사는 주제별로 그룹화하여 트윗 형식으로 정리해서 올리면 더욱 보기 좋겠죠?

 


파이썬 코드 예시

아래는 News API를 사용하여 뉴스 기사를 가져오는 파이썬 코드의 예시입니다.

 

import requests
import sys
from requests.exceptions import RequestException
import json
from datetime import datetime, timedelta

def get_news(api_key, keyword, max_results):
    url = 'https://newsapi.org/v2/everything'
    end_date = datetime.now().date()
    start_date = end_date - timedelta(days=30)
    params = {
        'q': keyword,
        'apiKey': api_key,
        'language': 'ko',
        'pageSize': max_results,
        'from': start_date.isoformat(),
        'to': end_date.isoformat(),
        'sortBy': 'publishedAt'
    }
    try:
        response = requests.get(url, params=params, timeout=10)
        response.raise_for_status()
        data = response.json()
        articles = data.get('articles', [])
        results = {}
        for i, article in enumerate(articles, start=1):
            results[f'article{i}'] = {
                'title': article.get('title', 'No title'),
                'description': article.get('description', 'No description'),
                'url': article.get('url', 'No URL'),
                'publishedAt': article.get('publishedAt', 'No date')
            }
        return results
    except RequestException as e:
        return {'error': f'API 요청 실패: {str(e)}'}
    except json.JSONDecodeError:
        return {'error': 'JSON 디코딩 실패'}
    except Exception as e:
        return {'error': f'예상치 못한 오류 발생: {str(e)}'}

def main(api_key, keyword, max_results):
    if not api_key:
        return {'error': 'API 키가 필요합니다.'}
    if not keyword:
        return {'error': '검색 키워드가 필요합니다.'}
    try:
        max_results = int(max_results)
        if max_results < 1 or max_results > 100:
            return {'error': '최대 결과 수는 1에서 100 사이의 정수여야 합니다.'}
    except ValueError:
        return {'error': '최대 결과 수는 정수여야 합니다.'}
    return get_news(api_key, keyword, max_results)

# 사용자 입력값
api_key = '{api_key}' # 본인의 news api key를 입력합니다.
keyword = '{{29.value}}' # 동적변수로, 앞에 스프레드 시트에서 받아온 키워드를 선택합니다.
max_results = 5 # 원하시는 뉴스의 개수를 입력합니다.

# 메인 함수 실행 및 결과 출력
output = main(api_key, keyword, max_results)
result = json.dumps(output, ensure_ascii=False)

 코드는 News API 키, 검색 키워드, 가져올 뉴스 기사 개수를 입력받아서, 지정된 키워드와 관련된 뉴스 기사를 최대 5개까지 가져옵니다. 코드를 직접 수정하거나, Claude와 같은 AI 도구를 활용해서 원하는 기능을 추가하면 더욱 다양한 뉴스 기사 자동화 작업을 구현할 수 있어요.

 


파이썬으로 뉴스 기사 음성 변환: 텍스트를 소리로 만들자!

뉴스 기사를 요약하는 것만으로는 부족하다고 느끼시나요? 혹시 뉴스를 읽는 대신 편안하게 듣고 싶으신가요? 🎧

 

파이썬을 활용하면, 텍스트 형태의 뉴스 기사를 음성으로 변환하는 것도 가능해요. Python에는 gTTS나 pyttsx3와 같은 다양한 라이브러리가 있어서, 쉽게 음성 변환 프로그램을 만들 수 있답니다.

 


뉴스 기사 음성 변환 과정

1단계: 뉴스 기사 텍스트 가져오기

 

앞에서 설명드린 Make.com이나 파이썬 코드를 활용해서 뉴스 기사를 가져올 수 있어요. 혹은 웹 크롤링을 통해 원하는 웹사이트에서 뉴스 기사를 추출할 수도 있습니다.

 

2단계: gTTS 또는 pyttsx3 라이브러리 사용하기

 

gTTS나 pyttsx3 라이브러리를 활용하여 텍스트를 음성으로 변환하는 코드를 작성합니다. 이 라이브러리들은 파이썬에서 음성 합성을 쉽게 구현할 수 있도록 도와주는 역할을 합니다.

 

3단계: 음성 파일 저장하기

 

변환된 음성을 MP3 또는 WAV와 같은 형식으로 파일로 저장합니다. 저장된 음성 파일은 스마트폰이나 MP3 플레이어에서 재생할 수 있어요.

 


파이썬 코드 예시 (gTTS 사용)

from gtts import gTTS
import os

text = "오늘의 뉴스를 전해드립니다. 최근 인공지능 기술이 빠르게 발전하고 있습니다." # 뉴스 기사 내용
language = 'ko' # 언어 설정 (한국어)

tts = gTTS(text=text, lang=language, slow=False)
tts.save("news.mp3") # 음성 파일 저장

os.system("news.mp3") # 음성 파일 재생

 코드는  라이브러리를 사용하여 한국어로 된 텍스트를  파일로 저장하고, 바로 재생하는 예시입니다.

 


파이썬 업무 자동화의 장점

파이썬을 활용한 업무 자동화는 여러 가지 장점을 가지고 있어요.

 

1. 시간 절약 및 효율성 향상: 반복적인 작업을 자동화함으로써, 시간과 노력을 절약하고, 더욱 중요하고 창의적인 일에 집중할 수 있습니다.

 


2. 생산성 증대: 자동화를 통해 업무 처리 속도를 높이고, 실수를 줄여 생산성을 향상시킬 수 있어요.

 

3. 코딩 지식이 없어도 쉽게 활용 가능: Make.com과 같은 No-code 도구는 복잡한 코딩 없이도 쉽게 사용할 수 있도록 설계되어 있어, 코딩 초보자도 쉽게 업무 자동화를 경험할 수 있습니다.

 


파이썬 업무 자동화 활용 분야

데이터 분석 웹 크롤링을 통해 데이터 수집 및 분석, 시각화
SNS 관리 뉴스 기사 자동 요약 및 포스팅, 댓글 관리
사무 자동화 엑셀 작업 자동화, 이메일 발송 자동화, 파일 정리 자동화
웹 자동화 웹사이트 로그인 자동화, 데이터 입력 자동화

분야 활용 예시

 


마무리

이 포스팅에서는 파이썬을 활용하여 뉴스 기사를 자동으로 요약하고 음성으로 변환하는 방법을 알아봤어요. Make.com과 같은 No-code 도구와 Python 라이브러리를 사용하면, 누구나 쉽게 업무를 자동화하고 시간을 절약할 수 있습니다.

 

앞으로 더욱 다양한 분야에서 파이썬을 활용한 업무 자동화가 활발해질 것으로 예상됩니다.

 

이 포스팅이 여러분의 업무 효율을 높이는 데 도움이 되었으면 좋겠네요! 😉

 

FAQ

Q1. 파이썬을 처음 접하는데, 업무 자동화를 배우는 게 어렵지 않을까요?

 

A1. 걱정하지 마세요! Make.com과 같은 No-code 도구를 활용하면, 코딩 지식 없이도 쉽게 업무 자동화를 시작할 수 있습니다. 파이썬 기초를 배우면 더욱 다양한 자동화 작업을 구현할 수 있지만, 꼭 전문적인 코딩 실력이 필요한 건 아니에요.

 

Q2. 뉴스 API 키는 어떻게 얻을 수 있나요?

 

A2. News API는 무료로 사용할 수 있는 API 키를 제공합니다. News API 웹사이트에 접속하여 계정을 생성하면, API 키를 발급받을 수 있습니다.

 

Q3. gTTS나 pyttsx3 외에 다른 음성 변환 라이브러리가 있나요?

 

A3. 네,  과 같은 라이브러리도 음성 변환에 사용할 수 있습니다.  각 라이브러리마다 장단점이 있으니, 여러분의 프로젝트에 적합한 라이브러리를 선택하여 사용하면 됩니다.

 

키워드:파이썬,업무자동화,뉴스요약,뉴스기사요약,음성변환,자동화,Makecom,NoCode,파이썬활용,생산성향상,효율성,AI,인공지능,Claude,DALL-E,gTTS,pyttsx3,NewsAPI,SNS자동화,Instagram,Facebook,자동화프로그램,코딩초보,개발자,개발,Python,프로그래밍,IT,데이터분석,데이터수집,웹크롤링,챗GPT,자동화꿀팁,업무팁,시간절약,업무효율,자동화마법,정보수집