- 0
- 168 단어
안녕하세요 케이입니다.
지난 글에서는 Google Apps Script의 시간 기반 트리거를 이용해서 매일 정해진 시간에 뉴스를 자동으로 받아보는 방법을 알아봤습니다.
지금까지는 주로 뉴스 검색 API를 이용해서 원하는 키워드의 뉴스를 가져오는 방식을 살펴봤습니다.
이번에는 조금 다른 방식인 RSS를 이용해서 새로운 뉴스나 콘텐츠를 자동으로 수집하고 텔레그램으로 보내는 방법을 알아보겠습니다.
RSS라는 단어는 처음 보면 다소 오래된 기술처럼 느껴질 수 있습니다.
하지만 특정 뉴스 사이트나 블로그의 새 글을 자동으로 확인하는 용도로는 지금도 충분히 활용할 수 있습니다.
특히 검색 API를 사용하지 않고 특정 사이트의 새로운 콘텐츠를 계속 확인하고 싶을 때 RSS가 유용할 수 있습니다.
RSS란 무엇인가
RSS는 웹사이트에 새롭게 등록되는 콘텐츠 정보를 일정한 형식으로 제공하는 방식입니다.
쉽게 설명하면 특정 사이트에서 새로운 글이 올라왔는지 프로그램이 확인할 수 있도록 만들어둔 콘텐츠 목록이라고 생각하면 됩니다.
일반적으로 웹사이트에서 새로운 기사를 확인하려면 직접 사이트에 접속해야 합니다.
RSS를 제공하는 사이트라면 프로그램이 RSS 데이터를 확인해서 새로운 글이 등록되었는지 확인할 수 있습니다.
예를 들어 어떤 IT 뉴스 사이트의 RSS를 등록했다고 생각해보겠습니다.
새로운 기사가 올라오면 RSS에도 새로운 항목이 추가됩니다.
Google Apps Script가 이 데이터를 확인하고 새로운 기사 제목을 가져와 텔레그램으로 보내도록 만들 수 있습니다.
RSS와 일반 웹페이지의 차이
일반 웹페이지는 사람이 보기 좋게 만들어져 있습니다.
사진, 메뉴, 광고, 버튼, 기사 목록 등 다양한 요소가 함께 표시됩니다.
프로그램 입장에서는 이런 화면 전체가 필요한 것은 아닙니다.
RSS에서는 새로운 콘텐츠에 필요한 주요 정보가 비교적 단순한 구조로 제공됩니다.
대표적으로 다음과 같은 정보가 포함될 수 있습니다.
글 제목
게시 날짜
간단한 설명
작성자 정보
게시물 식별 정보
사이트마다 제공하는 항목은 조금씩 다를 수 있습니다.
뉴스 자동수집 시스템에서는 이 가운데 필요한 정보만 선택해서 사용하면 됩니다.
뉴스 API와 RSS의 가장 큰 차이
뉴스 API와 RSS는 모두 새로운 정보를 자동으로 가져오는 데 사용할 수 있지만 목적에는 차이가 있습니다.
뉴스 검색 API는 검색어를 중심으로 데이터를 가져오는 방식입니다.
예를 들어 AI 자동화라는 검색어를 전달하면 해당 검색어와 관련된 여러 뉴스 결과를 받을 수 있습니다.
반면 RSS는 특정 사이트나 특정 콘텐츠 목록을 기준으로 새로운 글을 확인하는 방식입니다.
쉽게 정리하면 다음과 같습니다.
API는 원하는 키워드를 검색하는 데 적합합니다.
RSS는 원하는 사이트의 새 글을 추적하는 데 적합합니다.
두 방식을 함께 사용하면 더 다양한 뉴스 자동수집 시스템을 만들 수 있습니다.
RSS를 이용한 뉴스 자동수집의 기본 구조
RSS를 이용한 뉴스 자동수집도 전체 구조는 복잡하지 않습니다.
먼저 확인하고 싶은 RSS를 정합니다.
Google Apps Script가 해당 RSS 데이터를 가져옵니다.
RSS 안에 등록된 콘텐츠를 확인합니다.
새롭게 등록된 항목을 선택합니다.
필요한 정보를 텔레그램 메시지로 정리합니다.
텔레그램 봇으로 전송합니다.
시간 기반 트리거를 추가하면 이 과정도 자동으로 반복할 수 있습니다.
RSS 주소는 일반 웹사이트 주소와 다를 수 있다
RSS 자동수집을 만들 때 먼저 확인해야 할 부분이 있습니다.
일반적인 웹사이트 주소와 RSS 데이터를 제공하는 주소는 서로 다를 수 있습니다.
웹사이트에 접속하면 일반적인 화면이 나타나지만 RSS에서는 프로그램이 읽을 수 있도록 정리된 콘텐츠 목록이 표시됩니다.
또 모든 사이트가 RSS를 제공하는 것은 아닙니다.
과거에는 많은 사이트에서 RSS를 제공했지만 현재는 제공하지 않거나 일부 카테고리에서만 제공하는 경우도 있습니다.
따라서 RSS 자동수집을 만들기 전에 해당 사이트에서 사용할 수 있는 RSS가 존재하는지 먼저 확인해야 합니다.
RSS 데이터를 Google Apps Script에서 가져온다
RSS 주소를 확인했다면 Google Apps Script에서 해당 데이터를 가져올 수 있습니다.
기본적인 흐름은 뉴스 API를 사용할 때와 비슷합니다.
Google Apps Script가 RSS 데이터를 요청합니다.
사이트에서 RSS 데이터를 반환합니다.
Google Apps Script가 반환된 내용을 읽습니다.
각 콘텐츠 항목을 구분합니다.
필요한 정보만 선택합니다.
이 과정에서 제목이나 게시 날짜 같은 항목을 가져와 텔레그램 메시지를 만들 수 있습니다.
API와 다른 점은 별도의 검색어를 전달하는 것이 아니라 특정 RSS 자체를 읽는다는 점입니다.
RSS에서는 XML이라는 형식을 자주 볼 수 있다
RSS를 처음 확인하면 XML이라는 데이터 형식을 만나게 될 수 있습니다.
지난 글에서 뉴스 API 결과를 설명하면서 JSON이라는 형식을 알아봤습니다.
RSS에서는 XML 형태로 콘텐츠가 제공되는 경우가 많습니다.
처음 보면 여러 태그가 포함되어 있어서 복잡하게 느껴질 수 있습니다.
하지만 전체 내용을 모두 이해할 필요는 없습니다.
뉴스 자동수집에서 중요한 것은 콘텐츠별로 어떤 정보가 들어 있는지 확인하는 것입니다.
예를 들어 하나의 콘텐츠 안에 제목과 게시 날짜 등의 정보가 들어 있을 수 있습니다.
Google Apps Script에서는 필요한 항목을 찾아서 사용할 수 있습니다.
RSS에서 최신 글만 가져오는 것이 중요하다
RSS에는 현재 새롭게 등록된 콘텐츠뿐 아니라 이전 콘텐츠가 함께 포함되어 있을 수 있습니다.
이 데이터를 모두 텔레그램으로 보내면 과거 글까지 한꺼번에 전달될 수 있습니다.
그래서 처음 실행할 때는 최신 콘텐츠 몇 개만 가져오도록 제한하는 것이 좋습니다.
예를 들어 RSS에서 최근 3개 또는 5개의 콘텐츠만 확인하는 방식입니다.
이후 자동 실행에서는 이전에 보낸 콘텐츠와 비교해서 새로운 항목만 보내도록 만들 수 있습니다.
뉴스 API에서 중복 뉴스를 제거했던 것과 비슷한 원리입니다.
RSS에서도 중복 제거가 필요하다
RSS를 일정한 시간마다 확인하면 이전에 이미 받은 콘텐츠가 계속 포함될 수 있습니다.
따라서 이전에 보낸 글인지 확인하는 기능이 필요합니다.
방법은 비교적 단순합니다.
RSS에서 콘텐츠를 가져옵니다.
이전에 처리한 콘텐츠인지 확인합니다.
이미 확인한 글이면 제외합니다.
새로운 글만 텔레그램으로 보냅니다.
전송한 콘텐츠 정보를 저장합니다.
다음 실행에서는 다시 저장된 기록과 비교합니다.
이렇게 하면 사이트에 새로운 콘텐츠가 올라왔을 때만 텔레그램 알림을 받을 수 있습니다.
RSS 콘텐츠 제목만 보내는 방법
처음 RSS 자동수집을 만들 때는 메시지를 복잡하게 만들 필요가 없습니다.
다음과 같은 형태로 시작할 수 있습니다.
새로운 IT 뉴스
- 첫 번째 새 글 제목
- 두 번째 새 글 제목
- 세 번째 새 글 제목
이 정도만으로도 새로운 콘텐츠가 올라왔다는 사실을 빠르게 확인할 수 있습니다.
필요하다면 이후 게시 날짜나 짧은 설명 등을 추가할 수 있습니다.
처음에는 정상적으로 새로운 콘텐츠를 감지하는지가 더 중요합니다.
여러 개의 RSS를 동시에 확인할 수도 있다
관심 있는 사이트가 여러 개라면 RSS도 여러 개 등록할 수 있습니다.
예를 들어 다음과 같이 구성할 수 있습니다.
IT 뉴스 사이트 RSS
AI 전문 블로그 RSS
특정 기업 공식 블로그 RSS
기술 관련 사이트 RSS
Google Apps Script에서 RSS 목록을 하나씩 확인하고 새로운 콘텐츠를 모은 뒤 텔레그램으로 보낼 수 있습니다.
이렇게 만들면 여러 사이트를 직접 방문할 필요가 없습니다.
다만 RSS가 많아지면 콘텐츠 수도 많아지기 때문에 사이트별 결과 개수를 제한하는 것이 좋습니다.
사이트별로 메시지를 나누면 읽기 편하다
여러 RSS를 동시에 사용할 경우 콘텐츠를 전부 섞어서 보내면 출처를 구분하기 어려울 수 있습니다.
그래서 사이트 또는 카테고리별로 나누는 방식이 좋습니다.
예를 들어 다음처럼 정리할 수 있습니다.
오늘의 새 콘텐츠
IT 뉴스
- 새 글 제목
- 새 글 제목
AI 블로그
- 새 글 제목
- 새 글 제목
기업 공식 소식
- 새 글 제목
이런 방식이면 어느 RSS에서 가져온 내용인지 쉽게 파악할 수 있습니다.
시간 기반 트리거와 RSS를 함께 사용한다
지난 글에서 알아본 Google Apps Script의 시간 기반 트리거를 RSS에서도 그대로 활용할 수 있습니다.
예를 들어 하루에 두 번 새로운 콘텐츠가 있는지 확인하도록 설정할 수 있습니다.
정해진 시간이 되면 Google Apps Script가 실행됩니다.
등록된 RSS를 하나씩 확인합니다.
새로운 콘텐츠를 찾습니다.
이전에 전송한 글을 제외합니다.
새로운 내용만 텔레그램으로 보냅니다.
이렇게 구성하면 RSS 기반 뉴스 자동수집 시스템이 완성됩니다.
RSS 확인 주기를 너무 짧게 설정할 필요는 없다
RSS를 사용할 때도 너무 짧은 간격으로 계속 확인할 필요는 없습니다.
사이트에 새로운 콘텐츠가 자주 올라오지 않는다면 하루에 한두 번 확인하는 것으로 충분할 수 있습니다.
예를 들어 하루에 게시물 한두 개가 올라오는 블로그를 매시간 확인할 필요는 없습니다.
반대로 새로운 콘텐츠가 자주 올라오는 뉴스 사이트라면 조금 더 자주 확인하는 방식도 가능합니다.
RSS 확인 주기는 사이트의 업데이트 빈도와 내가 실제로 정보를 확인하는 횟수를 기준으로 정하는 것이 좋습니다.
RSS의 장점은 구조가 비교적 단순하다는 점이다
RSS의 가장 큰 장점 중 하나는 특정 사이트의 새로운 콘텐츠를 확인하는 목적이 명확하다는 것입니다.
검색 API처럼 검색 키워드를 계속 조정할 필요가 없습니다.
RSS에 새로운 콘텐츠가 추가되면 이를 확인하면 됩니다.
또 사이트에 따라 별도의 API 인증정보 없이 RSS 데이터를 확인할 수 있는 경우도 있습니다.
개인용 정보수집 시스템을 만들 때는 이런 단순함이 장점이 될 수 있습니다.
RSS에도 한계는 있다
RSS가 모든 뉴스 자동수집에 적합한 것은 아닙니다.
가장 큰 제한은 원하는 사이트에서 RSS를 제공해야 한다는 점입니다.
RSS를 제공하지 않는 사이트의 콘텐츠는 같은 방식으로 가져올 수 없습니다.
또 RSS에 제공되는 정보가 제한적일 수 있습니다.
제목과 간단한 설명 정도만 제공하고 전체 내용을 포함하지 않는 경우도 있습니다.
특정 키워드와 관련된 여러 사이트의 뉴스를 한꺼번에 검색하고 싶다면 RSS보다 검색 API가 더 편리할 수 있습니다.
RSS와 뉴스 API를 함께 사용하면 더 유용하다
개인용 뉴스 자동수집 시스템에서는 반드시 하나의 방식만 사용할 필요는 없습니다.
뉴스 검색 API와 RSS를 함께 사용할 수도 있습니다.
예를 들어 전체 인터넷 뉴스는 검색 API를 통해 키워드 기준으로 수집합니다.
반드시 확인하고 싶은 특정 사이트나 블로그는 RSS로 별도 수집합니다.
이렇게 구성하면 검색 API와 RSS의 장점을 함께 활용할 수 있습니다.
뉴스 검색 API는 넓게 정보를 찾는 역할을 하고 RSS는 특정 사이트를 집중적으로 확인하는 역할을 할 수 있습니다.
RSS 자동수집을 처음 만들 때 추천하는 방식
처음 RSS 자동수집을 만든다면 가능한 단순하게 시작하는 것이 좋습니다.
먼저 RSS 하나만 등록합니다.
최근 콘텐츠 3개 정도를 가져옵니다.
제목을 정상적으로 읽을 수 있는지 확인합니다.
텔레그램으로 테스트 메시지를 보냅니다.
이후 이전에 보낸 콘텐츠를 제외하는 기능을 추가합니다.
마지막으로 시간 기반 트리거를 설정합니다.
이 구조가 정상적으로 작동하면 RSS를 하나씩 추가하면 됩니다.
처음부터 많은 RSS를 등록하면 오류가 발생했을 때 어느 사이트의 데이터에서 문제가 생겼는지 찾기 어려울 수 있습니다.
RSS 뉴스 자동수집 전체 흐름 정리
전체 과정을 다시 정리해보겠습니다.
관심 있는 사이트의 RSS를 확인합니다.
Google Apps Script에 RSS 정보를 등록합니다.
RSS 데이터를 가져옵니다.
콘텐츠 제목과 필요한 정보를 확인합니다.
이전에 받은 콘텐츠를 제외합니다.
새로운 콘텐츠만 메시지로 정리합니다.
텔레그램 봇으로 전송합니다.
시간 기반 트리거를 이용해 일정한 시간마다 자동 실행합니다.
이렇게 구성하면 특정 사이트의 새로운 콘텐츠를 직접 방문하지 않고도 텔레그램으로 확인할 수 있습니다.
RSS는 개인 정보수집 시스템에도 활용할 수 있다
RSS는 뉴스뿐 아니라 다양한 콘텐츠를 모으는 데 사용할 수 있습니다.
예를 들어 자주 보는 블로그의 새 글이나 특정 분야의 전문 사이트 업데이트를 확인하는 용도로 활용할 수 있습니다.
여러 사이트에 매일 직접 접속하는 대신 RSS를 한곳에서 모아서 확인하는 방식입니다.
텔레그램과 연결하면 별도의 RSS 프로그램을 계속 열어두지 않아도 새로운 콘텐츠가 있을 때 원하는 형태로 받아볼 수 있습니다.
결국 RSS도 개인용 정보수집 자동화를 만드는 하나의 방법입니다.
정리
RSS는 특정 웹사이트에 새로운 콘텐츠가 등록되었는지 자동으로 확인할 수 있는 방식입니다.
뉴스 검색 API가 검색 키워드를 기준으로 여러 뉴스를 찾아주는 방식이라면 RSS는 특정 사이트나 콘텐츠 목록의 새 글을 확인하는 데 적합합니다.
Google Apps Script를 이용하면 RSS 데이터를 가져오고 필요한 제목이나 게시 정보를 정리한 뒤 텔레그램 봇으로 전송할 수 있습니다.
여기에 시간 기반 트리거와 중복 제거 기능을 추가하면 새로운 콘텐츠가 등록되었을 때만 자동으로 받아보는 시스템을 만들 수 있습니다.
처음에는 RSS 하나와 최근 콘텐츠 몇 개만 이용해서 정상적으로 작동하는지 확인하는 것이 좋습니다.
이후 여러 RSS를 추가하고 사이트별로 메시지를 구분하면 개인용 정보수집 시스템으로 확장할 수 있습니다.
뉴스 검색 API와 RSS는 비슷해 보이지만 사용하는 목적과 방식에 차이가 있습니다.
다음 글에서는 RSS와 뉴스 API의 차이를 조금 더 자세히 비교해보고, 개인용 뉴스 자동수집 시스템에서는 어떤 방식을 선택하는 것이 좋은지 정리해보겠습니다.