매일 아침 출근길, 포털 사이트에서 뉴스를
뒤적이는 시간이 아깝다고 느껴본 적 있으신가요?
저는 아침마다 여기저기 뉴스 플랫폼을 돌면서
뉴스를 둘러보곤 했는데
주요 뉴스만 메일로 받아보면 좋겠다는 생각이 들더라고요.
그래서 오늘은 구글 Apps Script를 이용해
매일 주요 뉴스 10개를 요약해서 메일로 받아보는 시스템을 만들어봤습니다.
연합뉴스TV와 JTBC 속보를 기반으로 RSS를 수집하고,
매일 아침 7시에 이메일로 뉴스 요약을 자동 발송하는 방식인데요.
복잡할 것 같지만 따라만 오시면 누구나 쉽게 만들 수 있어요.
그럼, 자동 뉴스 메일링 시스템 만드는 방법에 대해 알아보겠습니다
우선 구글 계정에 로그인합니다.
계정에 로그인한 다음 구글 앱스에서 시트를 찾아 실행합니다.
Google Sheets: 로그인
이메일 또는 휴대전화
accounts.google.com
위 링크를 클릭하면 자동으로 스프레드 시트로 들어가집니다!
스프레드 시트 상단에 [확장 프로그램] - [Apps Script]에 들어갑니다.
소스 코드를 작성해 볼까요?
function sendNewsSummary() {
const rssFeeds = [
{ url: "https://www.yonhapnewstv.co.kr/browse/feed/", type: "rss", source: "연합뉴스TV" },
{ url: "https://fs.jtbc.co.kr/RSS/newsflash.xml", type: "rss", source: "JTBC 속보" }
];
let allItems = [];
rssFeeds.forEach(feed => {
try {
const xml = UrlFetchApp.fetch(feed.url).getContentText();
const document = XmlService.parse(xml);
const channel = document.getRootElement().getChild("channel");
const items = channel.getChildren("item");
items.forEach(item => {
const title = item.getChildText("title") || "제목 없음";
const link = item.getChildText("link") || "링크 없음";
const pubDateText = item.getChildText("pubDate");
const pubDate = pubDateText ? new Date(pubDateText) : new Date();
allItems.push({ title, link, pubDate, source: feed.source });
});
} catch (e) {
Logger.log(`❌ ${feed.url} 파싱 실패: ${e.message}`);
}
});
allItems.sort((a, b) => b.pubDate - a.pubDate);
const now = new Date();
const month = now.getMonth() + 1;
const date = now.getDate();
const dayNames = ["일", "월", "화", "수", "목", "금", "토"];
const day = dayNames[now.getDay()];
const subject = `${month}월 ${date}일 (${day}) 오늘의 뉴스 요약`;
let body = "📮 오늘의 주요 뉴스 Top 10\n\n";
for (let i = 0; i < 10 && i < allItems.length; i++) {
const news = allItems[i];
body += `${i + 1}. ${news.title}\n${news.link}\n📌 출처: ${news.source}\n\n`;
}
MailApp.sendEmail({
to: "내이메일@도메인.com", // <- 메일 주소변경!
subject: subject,
body: body
});
}
소스코드는 위 블록을 참고하시면 됩니다.
아래 부분에 이메일 도메인만 변경하시면 됩니다!
이메일 주소까지 변경했다면 좌측에 트리거에 들어갑니다.
트리거 추가를 클릭하여 위 설정대로 만들어 주시면 됩니다.
자동 실행 트리거 설정은
함수 sendNewsSummary, 이벤트 소스는 시간 기반
일 단위 타이머를 설정하고 오전 7시 ~ 8시 사이로 설정하면
아침에 메일이 발송됩니다 :)
처음 트리거를 설정하거나 외부 요청 같은 기능을 사용하려면 앱에 대한 접근 권한을 승인해야 합니다.
권한을 승인하는 방법은 계정을 선택하고 경고 화면 아래에 고급 버튼을 클릭한 다음
프로젝트로 이동을 클릭합니다.
이렇게 권한 요청이 나오며 권한 허용을 해주시면 됩니다.
원래는 구글이 보안을 위해 검증받지 않은 앱에는 경고를 표시하는 것인데
이건 개인 프로젝트라 걱정하지 않으셔도 됩니다.
이렇게 권한까지 완료했다면
다시 프로젝트로 돌아와서 테스트를 해볼까요?
코드 상단에 실행을 눌러 테스트를 진행할 수 있습니다.
실행하면 오늘 날짜와 함께 오늘의 뉴스 요약이라는 제목으로
메일이 발송됩니다.
이렇게 스크립트를 작성하면 매일 주요 뉴스를 정리해서 받아볼 수 있어 편리하고
특히 제목들이 한눈에 들어와서 만족도가 높습니다.
'tip > computer' 카테고리의 다른 글
짱게임 크롬 팝업 광고 제거 방법, 팝업 광고 삭제 방법 (0) | 2024.11.09 |
---|---|
곰플레이어 다운로드 방법과 광고 제거 설정법! (2) | 2024.11.04 |
자녀 스마트폰 관리 & 위치추적 앱 모니마스터 프로 (갤럭시, 아이폰) (0) | 2024.07.14 |
윈도우와 맥에서 사용할 수 있는 무료 동영상 변환 프로그램 12가지 살펴보기 (2) | 2024.04.28 |
아이마이폰 디백으로 삭제된 파일 복구하는 방법(휴지통 삭제 복구, USB 파일 복구) (0) | 2024.01.30 |
댓글