정리봇
정리봇
⚔️ 베테랑 파트너
🚀 SNS 챌린지 달성자

n8n으로 해외 IT테크뉴스 자동화 수집하기

소개

n8n 왕초보로서 연습 겸 나도 쉽게 따라해볼 수 있는 자동화가 뭐가 있을까 고민하다가

제가 관심 있는 IT/테크 분야의 해외 뉴스를 구글 스프레드시트 수집 자동화하기를 도전해보았습니다.

혼자서 처음부터 시작하기는 막막해서 n8n 관련 유튜버 2분 채널을 참고했습니다.

진행 방법

처음엔 opencore AI님의 뉴스레터 자동화 영상을 보면서 그대로 따라해봐야겠다 싶었는데

워크플로우가 너무 복잡해서 식겁하던 중에

한국 컴퓨터 시스템의 스크린 샷

고블로님의 n8n 뉴스레터 자동화 영상의 워크플로우는 훨씬 간단해서 이걸 도전해보기로 합니다.

그런데 구글 시트를 활용하려면 n8n에 Google OAuth 구글인증 및 API 설정을 해야하더라구요

그건 opencore AI님의 아래 영상에 친절히 설명해주셔서 그냥 하나하나 다 따라해서 조치했습니다.

https://youtu.be/wAPmriPR9X0?si=Yoe3qkh9tLKiW2sP

우선 제가 완성시킨 n8n 뉴스레터 수집 자동화의 전체 플로우를 먼저 공유합니다

1) 수집 시간 스케쥴링하기

  • Schedule Trigger 추가 후 아래와 같이 설정합니다

    • 수집은 매일(Trigger Interval : Days)

    • 하루에 1번(Days Between Triggers : 1)

    • 밤 11시마다(Trigger at Hour : 11pm)

      일정 대상 화면의 스크린 샷

2)RSS 가져오기

  • 해외 뉴스 사이트의 RSS 링크를 찾아서 복사 후

  • Edit Fields 노드 추가 후 'Mode'는 JSON으로 선택한 다음

    결제 옵션을 보여주는 웹 페이지의 스크린 샷
  • Expression에 다음과 같은 형식으로 RSS 링크를 넣습니다. 전 4개의 뉴스사이트를 가져오기 위해 4개의 RSS 링크를 추가했습니다.

    • 이 때 마지막줄 "링크"의 끝에는 쉼표(,)를 빼야 오류가 안걸려요 -> 처음에 모르고 쉼표 다 넣었다가 ChatGPT로 문제 찾아서 해결했습니다

{
  "feeds": [
    "RSS 링크",
    "RSS 링크",
    "RSS 링크",
    "RSS 링크"
  ]
}
코드 편집기가있는 웹 페이지의 스크린 샷

3) 뉴스피드들을 분리하기 위해 'Split Out' 노드를 추가하고

4) 반복하여 뉴스피드를 RSS 링크로 가져오기 위해 'Loop Over Items'와 'RSS Read'를 추가 및 연결해 놓습니다

  • 실행했을 때 우측 OUTPUT에 뉴스의 저자, 제목, 링크, 요약내용 등이 잘 뽑히는 것을 볼 수 있습니다

다른 유형의 파일을 보여주는 웹 페이지의 스크린 샷

5)한 뉴스사이트에서 최대 3개의 뉴스만 가져오도록 Limit 노드를 추가해서 설정했습니다

항목 목록을 보여주는 화면의 스크린 샷

6)그 다음 단계는 추출한 뉴스기사를 원하는 필드값(카테고리)로 나누는 작업을 합니다

  • Edit Fields 노드를 추가해서 저는 간단히 4가지의 Fields로 나누어 봤구요

    • Title (기사 제목)

    • contentSnippet (기사 요약)

    • link (기사 링크)

    • pubDate (기사 발행일)

항목 목록을 보여주는 웹 페이지의 스크린 샷
  • 반복 진행을 위해 'Loop over Time' 노드를 다시 추가했고

  • AI Agent를 설치해서 아래의 프롬프트를 넣었습니다

    "title", "summary", "putDate" 값만 자연스럽게 한국어로 번역해줘. 
    "link"는 절대 번역하지 말고 원래 영어 그대로 유지해줘. key 이름도 변경하지 말고, 전체 JSON 구조는 그대로 유지해줘. 
    ⚠️오직 JSON만 출력해. 코드, 설명, 예시 없이 JSON 데이터만 보여줘
    각각의 데이터는 다음과 같아.
    title : {{ $json.title }}
    contentSnippert : {{ $json.contentSnippet }}
    link : {{ $json.link }}
    pubDate : {{ $json.pubDate }}
    항목 목록을 보여주는 웹 페이지의 스크린 샷
  • 참고로 무료로 사용가능한 Google Gemini Chat Model API를 연동시켰는데, 제미나이 챗 API 무료 연동하시려면 Google AI Studio에 접속해서 'Get API Key' 클릭해서 API Key를 n8n에 넣으면 됩니다!

    스튜디오 페이지의 스크린 샷

7) 마지막으로 Google Sheets 노드 > 'Append row in sheet' 클릭해서

프로세스 흐름을 보여주는 웹 응용 프로그램의 스크린 샷
  • Document에 미리 만들어놓은 구글 시트 링크를 넣고

  • Sheet는 구글 시트의 하단 탭 명칭을 선택하고

  • Values to Send에 4개의 입력값(카테고리)를 세팅해놓고

8) 모든 워크플로우를 최종점검한 다음, Active 버튼 활성화 시키고, 하단 중앙의 주황색 글씨 'Execute workflow' 클릭하면 'Executing workflow'으로 변경되면서 전체 워크플로우가 멋드러지게 작동을 합니다

9) 구글시트에 가보니 제가 원하는대로 NYTimes, BBC, CNN, NPR 뉴스의 AI/테크 뉴스들이 자동으로 수집되고 있는걸 확인할 수 있었습니다!

결과와 배운 점

n8n 왕초보이다보니 아직은 결과도 미흡하고 아쉬운 부분들이 많지만

직접 원하는 해외뉴스의 정보들을 구글시트에 자동으로 수집했다는 뿌듯함이 상당했습니다.

사실 사례글에는 다 담지 못했지만

하나하나 영상 보면서 따라하고, 모르는 부분은 ChatGPT에게 물어보는 과정이 생각보다 쉽지는 않았습니다.

<시행착오 흔적들..>

한국어 텍스트가있는 페이지의 스크린 샷

그래도 ChatGPT와 n8n 스터디에서 박정기 스터디장님이 막히는 부분 여쭤볼 때마다

혈을 뚫는 것처럼 방법을 다 알려주셔서 성공할 수 있었습니다.

다시 한 번 정기님께 감사의 말씀을 드리며 사례글을 마무리합니다 :)

자동화 1번 해보니 너무 재미있어서 다음에는 더 퀄리티 있고 실무에 도움되는 자동화를 찾아서 도전해보겠습니다~!

2

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요