해외 골프 뉴스 수집 자동화 AI 에이전트 구축 사례

개인 또는 회사에서 관련 동향 뉴스를 수집해 활용하려는 수요가 꽤 많습니다. 예를 들어 로봇제조사는 로봇관련 뉴스를 매일 일정한 시간에 수집하여 사내 슬랙을 통해 공유하면 조직 전체의 뉴스 활용도를 높일 수 있습니다.

1인 미디어의 경우 혼자서 보도자료를 처리하고, 또 현장 취재를 하려면 몸이 열이라도 모자랄 것입니다. 이럴 때 AI를 파트너로 불러들여, 해외 뉴스를 모니터링하면서 요약하는 일을 처리하게 하면 부족한 인력을 문제를 깔끔하게 해결할 수 있습니다.

하지만 뉴스 자동 수집은 단순하게 보이면서 생각보다 까다로운 작업입니다.

첫째, 뉴스 사이트보다 뉴스 개방 정책이 다릅니다. 로봇 수집을 막는 곳이 있고 또 로그인을 요구하는 곳이 많습니다. 로그인이 필요한 곳은 대체로 유료 서비스 정책을 채택하고 있습니다.

둘째, 뉴스콘텐츠에서 얻고 싶은 것은 텍스트(또는 이미지포함)인데, 콘텐츠에는 광고 등 각종 부가 정보가 덕지덕지 붙어 있습니다. 특히 복잡한 Html태그를 붙은 채로 수집하면 활용도가 뚝 떨어집니다. 제목, 발간날짜,글쓴이, 본문 정도만 깨끗하게 가져와야 내용을 활용하기 쉽습니다.

셋째, 사람의 개입을 최소화하려면 수집-분석-업로드 등 프로세스를 일정한 조건에 따라 자동으로 작동하게 세팅해야 합니다. 자동화를 세팅하려면 메이크닷컴,n8n 등 자동화 플랫폼을 활용해야 합니다.(트리설정방법으로 자동화를 세팅할 수도 있습니다.)

해외 골프뉴스 수집을 목표로 뉴스수집 자동화 AI에이전트를 구축하는 사례를 소개하겠습니다. 이 프로젝트를 익히면 각자 사정에 맞춰 응용을 쉽게 할 수 있습니다.

프로젝트 수행과정에서 숱한 시행착오를 겪을 것입니다. 이런 난관을 홈스의 추리력을 해결해보겠습니다.

준비물과 프로세스는 다음과 같습니다.

준비물 및 프로세스

구분

항목

내용

비고

기획목표

해외골프뉴스수집 자동화

해외 주요 골프 뉴스를 하루 1차례 수집하여

구글 시트에 1000단어(한국어 기준)로 요약하는 프로세스를 자동화하기

-기획과 코딩에 LLM모델에서 클로드를 선택

데이터 소스

골프다이제스트, 골프닷컴, 골프위크, 애슬레틱 등 골프 뉴스 제공 사이트

데이터 기록및 저장

구글 시트 생성

구글시트 헤더 칼럼 정하기

구글시트 ID값 복사

시트명 짓기

구글시트가 수집한 뉴스를 기록하고 AI가 요약한 한국어 콘텐츠를 저장하는 DB역할

구글시트 API

구글 클라우드(cloud.google.com)에 접속

메뉴중 API및 서비스 선택→라이브러리에서 ‘구글 시트’검색→사용 선택

구글시트 접근 인증

상동

구글 관리자에서 구글시트 API 활성화

크롤링 방법

-파이어크롤(firecrawl.dev)

채택

-유료화가 단점이나,뉴스 크롤링 기능은 우수

-파이이크롤 가입후

API 키 발급하고 값을 복사하여 별도 보관

번역및 요약 기능

Gemini API 채택

https://aistudio.google.com/

에 로그인하여 API 발급하기

API 키 값 복사하여 별도 보관

프롬프트

앱스 스크립트 코딩에서 프롬프트를 삽입

AI가 영문뉴스를 한국어 1000자로 요약하는 역할을 수행

핵심 기능

자동화

앱스 스크립트의 트리거 메뉴을 이용해 일정한 시간에 작동하도록 설정

예_매일 오전 9시에 수집 프로세스를 반복하기를 설정

메이크닷컴을 활용하는 방안도 검토

클로드 입력 프롬프트

위와 같이 기초적인 준비를 마치고 나서 클로드에 다음과 같은 프롬프트를 입력하였습니다.

구글 시트, 앱스스크립트, 파이어크롤,LLM API를 이용해 뉴스수집을 하려고 해. 기획과 코드를 짜줘. 1.파이어크롤을 이용해 영어권 골프뉴스를 크롤링함 2.제목,날짜,본문을 추출하여 1000단어(한국어)로 요약하여 구글시트에 저장함 3.하루에 한 차례 일정한 시간에 수집하는 반복하도록 함.

클로드 산출물은 다음과 같았습니다.

영어권 골프 뉴스 자동 수집 시스템을 설계해드리겠습니다.

시스템 아키텍처

데이터 흐름:

  • Google Apps Script 트리거 → 매일 정해진 시간 실행
  • Firecrawl API → 골프 뉴스 사이트 크롤링
  • LLM API (Claude/Gemini) → 영어→한국어 번역 및 요약
  • Google Sheets → 데이터 저장

1단계: Google Sheets 설정

먼저 스프레드시트를 다음과 같이 구성하세요:

시트명: “Golf_News”

  • A열: 날짜
  • B열: 제목 (원문)
  • C열: 제목 (한국어)
  • D열: 출처 URL
  • E열: 요약 (한국어, 1000단어)
  • F열: 수집 시간

2단계: Apps Script 코드

Google Sheets에서 확장 프로그램 > Apps Script를 열고 다음 코드를 작성하세요:

CODE_SNIPPET: // ==================== 설정 ====================
const CONFIG = {
// API 키 설정 (Script Properties에 저장 권장)
FIRECRAWL_API_KEY: ‘your_firecrawl_api_key’,
Gemini_API_KEY: ‘your_Gemini_api_key’, // 또는 OpenAI API 키

// 크롤링할 골프 뉴스 사이트
NEWS_SOURCES: [
‘https://www.golfdigest.com/latest’,
‘https://www.golf.com/news/’,
‘https://www.golfweek.com/news’
],

// 설정
MAX_ARTICLES_PER_SOURCE: 5,
SUMMARY_TARGET_WORDS: 1000,
SHEET_NAME: ‘Golf_News’
};

// ==================== 메인 함수 ====================
function collectDailyGolfNews() {
try {
Logger.log(‘골프 뉴스 수집 시작: ‘ + new Date());

const sheet = getOrCreateSheet(CONFIG.SHEET_NAME);
const allArticles = [];

// 각 뉴스 소스에서 기사 수집
for (const sourceUrl of CONFIG.NEWS_SOURCES) {
Logger.log(‘크롤링 중: ‘ + sourceUrl);
const articles = scrapeNewsSource(sourceUrl);
allArticles.push(…articles);
}

Logger.log(`총 ${allArticles.length}개 기사 발견`);

// 중복 제거 (URL 기준)
const uniqueArticles = removeDuplicates(allArticles);
Logger.log(`중복 제거 후: ${uniqueArticles.length}개 기사`);

// 각 기사 처리
let processedCount = 0;
for (const article of uniqueArticles) {
// 이미 저장된 URL인지 확인
if (isArticleExists(sheet, article.url)) {
Logger.log(‘이미 존재하는 기사: ‘ + article.url);
continue;
}

// LLM으로 요약 및 번역
const summary = summarizeAndTranslate(article);

// 시트에 저장
saveToSheet(sheet, article, summary);
processedCount++;

// API 요청 제한 고려 (1초 대기)
Utilities.sleep(1000);
}

Logger.log(`완료: ${processedCount}개 새 기사 저장`);

}
<이하 코드 생략>

구글시트 생성및 앱스 스크립트 편집기 열기

클로드의 기획을 바탕으로 본격적으로 해외 골프뉴스를 수집해서 저장한 시트를 만들고 이어 해당 시트에 연결된 앱스 스크립트에 클로드가 작성한 코드를 입력할 차례입니다.

먼저, 구글시트에서 ‘해외골프뉴스 자동화’시트를 생성합니다. 이어 아래와 같이 시트의 헤더명을 입력합니다.

클로드가 작성해준 코드를 구글 앱스 스크립트에 입력해야할 차례입니다. 해당 시트 메뉴중 ‘확장 프로그램’을 클릭하고 이어 ‘Apps Script’를 클릭합니다.

앱스 스크립트를 클릭하면 코드를 입력하는 코드 편집기가 뜹니다. 코드 편집기에 기존 내용을 지우고 클로드가 작성한 코드를 복사해 붙입니다.

몇차례 오류 코드 수정 작업 반복

시트생성-앱스 스크립트 편집기 열기-코드 복사해 붙여넣기 까지 작업을 마치고 나면 이제부터 본격적으로 시행착오를 겪으면서 홈스처럼 문제를 해결해나가는 과정을 밟아야 합니다. 너무 걱정하지 않으셔도 됩니다. 홈스에게 든든한 왓슨박사가 있듯이 당신에게는 AI가 늘 곁에서 아무리 사소한 질문에도 답을 해주면서 해법을 찾아줄 것입니다.

베스트 시나리오는 AI가 작성해준 코드를 입력하고 실행버튼을 클릭하면 원하는 해외 골프뉴스 사이트를 알아서 뒤지고 해당 뉴스를 가져와서 한국어로 깔끔하게 요약해주는 것입니다. 이런 경우는 거의 없습니다.

실행버튼을 클릭하면 대체와 다음과 같은 유형의 에러를 만나게 됩니다.

첫째, API 키값 오류

하나의 프로그램이 작동하려면 여러 기능을 가져다 사용해야 합니다. 이번 프로젝트의 경우 크롤링기능은 파이어크롤 API를, 번역및 요약기능은 제미나이 API를 사용합니다.

따라서 API 값이 정확하고 또 작동해야 합니다.

둘째, 인증 오류

API세팅보다 훨씬 까다로운 요소는 인증입니다. 프로그램이 작동하려면 여러 시스템을 넘나들어야 합니다. 각 시스템은 보안을 위해 외부 코드의 유입을 철저히 감독합니다.

같은 구글 워크스페이스내부에서도 여러 서브 시스템을 넘나들려면 미리 사용 범위를 코드에 알려줘야 합니다. 앱스 스크립트에서는 설정을 클릭하고 편집기에 ‘appsscript.json’ 매니페스트 파일 표시를 체크표시를 한 뒤 appsscript.json 파일을 작성해야 합니다.

이 파일도 AI에게 정확한 의도를 설명해서 요청하면 AI가 짜줍니다.

셋째, 데이터 저장장소 고유값 오류

이번 프로젝트에서 데이터저장 플랫폼을 구글 시트를 선택하였습니다. 따라서 구글시트의 고유값이 정확하게 코드에 입력되어 있어야 합니다. 구글 시트 고유값을 찾는 것을 AI에게 물어보면 즉시 알려줍니다.

여러분이 코딩을 하면서 난관에 부딪힐 때 대략 세가지 요소에서 문제가 있을 것이라고 추정하고 세가지 요소를 체크해서 AI에게 물으면 해법을 잘 찾아줍니다.

자동화 세팅으로 AI에이전트 완성

몇차례 시행착오를 거쳐서 완성한 코드가 해외골프뉴스를 수집해서 한국어로 잘 요약하는 것을 확인하였습니다. 마지막 작업으로 필요할 때마다 코드를 실행시키지 않고 일정한 시간에 알아서 뉴스하도록 하는 트리거 설정을 진행합니다.

앱스 스크립트 왼쪽 메뉴중 시계 아이콘이 있는 트리거를 클릭하여 원하는 시간대와 실행을 원하는 함수를 세팅함으로써 자동화를 완성합니다.

이런 과정을 거쳐 해외골프뉴스수집 자동화 AI 에이전트가 완성되었습니다.

AI 에이전트가 AI시대 실전 응용에서 핵심 요소입니다. 그런데 AI에이전트를 강조하는 사람들이 지나치게 기대치를 높여, AI가 알아서 척척 모든 일을 사람처럼 처리해주는 것을 상상하게 만든 측면이 있습니다.

위 사례에서 보듯이 AI에이전트는 여러 가지 기능을 연결하고, 특정 조건에 따라 연결된 프로세스를 반복하는 것이 핵심입니다. AI에이전트에서 순수 AI의 역할은 한정적입니다.

응용, 비용 등 추후 과제

필요한 뉴스를 사람의 손을 빌리지 않고 수집하여 요약하는 프로젝트를 완성하였습니다. 이와 같이 뉴스수집 자동화 기본틀을 익히면 각자 업무 현장에서 필요한 수요를 바탕으로 응용력을 발휘할 수 있습니다.

수집한 뉴스를 다른 임직원과 공유를 해야 한다면, 매일 이메일로 뉴스레터 발송 기능을 붙이거나 사내 슬랙을 통해 배포하는 방안을 추가할 수 있습니다. AI 코딩을 이용하면 모두 실현가능합니다.

또는 수집한 뉴스콘텐츠를 보기에 좋도록 웹 스타일로 구현하는 html파일을 추가로 붙이는 것도 응용할 만합니다.

이번 응용사례의 장단점은 비용에서 갈립니다. 뉴스사이트에서 제공하는 RSS와 파이썬 크롤링 프로그램을 이용할 경우 파이어크롤 사용료를 지불하지 않아도 되지만, AI코딩과정에서 시행착오를 많이 겪어야 합니다.

클로드에 따르면 하루 10-20개 기사 수집할 경우 매월 $10-30정도의 비용이 예상된다고 합니다. 파이어크롤 API사용 비용과 LLM AI모델 토큰 사용료를 합친 비용입니다.

AI활용시대, 비용 부담은 필할 수 없습니다. 예를 들어 구글 앱스 스크립트대신 메이크닷컴을 채택해도, 데이터 파싱 모듈과 자동화 프로세스를 이용하려면 매달 사용료를 지불해야 합니다.

합리적인 비용을 지불할 수 있는 방안을 늘 찾아야 하는 것이 AI시대 과제입니다.

자료 출처 및 문의

셜록 홈스식 AI사용법(휴먼큐브, 우병현저)

penman@penmedia.co.kr

댓글을 남기세요