네이버 뉴스 내용 요약받고 문제도 풀기

소개

뉴스봇 프로젝트 소개

바쁜 출근길에 오늘의 뉴스를 한눈에 볼 수 있는 방법을 고민하다 개발하게 된 뉴스봇입니다.

주요 기능

  • 뉴스 요약 제공

  • 뉴스 이해도를 확인하는 간단한 퀴즈 제공

자동화 구성

  1. 지정된 시간에 n8n이 자동 실행

  2. 네이버 뉴스 크롤링 수행

  3. 크롤링된 내용 정리 및 가공

  4. 텔레그램을 통해 사용자에게 정보 전달

이러한 구조로 사용자가 매일 아침 최신 뉴스를 쉽게 접하고 이해할 수 있도록 설계했습니다.

진행 방법

  1. n8n에서 특정시간에 뉴스내용 크롤링

    • n8n 스케쥴 트리거를 이용하여 특정시간에 동작하도록 설정하였습니다.

  2. 뉴스내용 크롤링 및 가공

    • HTTP Request 노드로 불러오게 되면 아래와 같이 HTML로 가져오게 되고

  • HTML 내용 중 필요한 내용을 추리기 위해 HTML 노드로 다시 변환 해주었습니다.

  • 기사의 제목과 내용을 CSS Selector를 설정을 해야하는데, 이 부분은 AI의 힘을 빌렸습니다.

    HTML 원문을 주고 데이터를 뽑아내고 싶다고 하니 잘 알려주었습니다.

    iPad의 한국어 앱
  • 하지만 문제가 또 있었는데요, 테이블이 하나로 출력되어 다시 테이블을 나누기 위해 코드 노드를 사용하여 나누어 주는 작업을 했습니다.

    코드 편집기의 스크린 샷
한국어 화면의 스크린 샷
  • 코드 실행 후 테이블이 나누어진 걸 확인 할 수 있습니다.

  1. AI agent를 사용하여 기사내용 요약 및 의견 달아주기

    • 정리된 기사를 가지고 AI agent를 사용해 요약 및 의견을 달아주도록 했습니다.

    • 프롬프트는 정리된 테이블에서 제목과 내용을 매칭시켜 주었구요.

    • System Message엔 명령을 잘 처리할 수 있도록 역할을 지정해 주었습니다.

    • 하지만 Ai agent 결과가 하나의 테이블로 나오기 때문에 Structured Output Parser를 이용하여 테이블 다시 구분하였습니다.

      한국 텍스트가있는 페이지의 스크린 샷
      웹 사이트의 한국 버전의 스크린 샷
    • 결과는 아래와 같이 잘 나왔습니다.

      한국어 웹 사이트의 스크린 샷
  2. 나온 데이터를 저장하기

    • 이제 나온 결과를 저장하기 위해 간단한 구글시트를 사용하였습니다.

    • 각 행과 열에 title, article, opinion에 맞춰 Ai agent의 결과를 저장하였습니다.

  3. 기사를 가지고 간단한 문제 만들기

    • 구글시트에 저장된 기사를 불러와 Ai agent를 이용하여 문제를 만들었습니다.

    • 기사를 요약하는 Ai agent와 같이 설정 하였고, 프롬프트만 수정하였습니다.

    • 위와 동일하게 구글시트에 문제 및 정답이 작성됩니다.

  4. 요약된 기사는 텔레그램 노드로 보내지게 되고, 요약된 기사로 문제를 만드는거 까지 한 사이클로 구성하였습니다.

    문제를 주고 대답을 주고받는 기능을 구현하기 위해선 하나의 워크플로우로 안될거 같더라구요. 그래서 텔레그램의 입력을 감지할 수 있도록 텔레그램 트리거를 하나 더 추가했습니다.

  5. 텔레그램 봇으로 뉴스를 전달하고 문제를 보고 정답을 감지할 수 있는 워크플로우입니다.

    • 봇이 문제를 내주고, 사용자가 메세지를 보내면 Ai agent가 감지하여 정답을 판별할 수 있도록 제작했습니다.

    • 구글시트에 저장된 문제를 보고 텔레그램으로 전송하고, 정답을 입력 받으면 구글시트에 저장된 정답을 비교하여 상대방에게 알려줍니다.

    • 주의할점은 해당 워크플로우를 상시 동작하도록 설정해놔야 바로바로 입력을 감지합니다..

  1. 출력결과물

    <뉴스 알림봇>

    <문제봇>

이처럼 상호작용하며 문제를 내주는 봇을 만들었습니다.

결과와 배운 점

처음 n8n을 사용하여 만들게 된 프로젝트였습니다. 머릿속에 구상한 내용을 실제로 구현하는 과정이 생각보다 어려웠습니다. GPT 등 여러 AI의 도움을 받아 개발했지만, n8n에 대한 기본 지식이 있었다면 더 수월하게 진행했을 것이라는 생각이 들었습니다. 그래도 지피터스 커뮤니티의 다양한 사례 덕분에 영감을 얻어 적용한 기능들도 있었고, 이번 프로젝트를 통해 n8n의 다른 기능들도 한번 사용해보고 새로운 프로젝트에 도전해보고 싶은 욕심이 생겼습니다.

5
2개의 답글

👉 이 게시글도 읽어보세요