n8n으로 게시판 데이터 자동 크롤링 & 데이터 아카이빙 자동화

소개

평소에 관심 있는 게시판에서 원하는 정보를 얻기 위해 매번 게시판 페이지에 접속해 게시글을 하나하나 열람하며 내용과 첨부 파일을 확인하는 방법만 사용하고 있었습니다. 😥
하지만 이 방식이 너무 번거롭고 불편해서, 이를 자동화해보기로 결심했어요!
n8n을 활용해 20분 간격으로 게시글 데이터를 자동으로 크롤링하고, Google Drive 에 첨부 파일을 저장한 첨부파일 URL 을 포함한 게시글 데이터를 Google Sheets에 저장하고 Gmail 로 그 결과를 전송하는 데 성공했습니다. 🙌

진행 방법

사용한 도구

  • n8n

  • Google Drive

  • Google Sheets

  • Gmail

주요 흐름

다양한 유형의 음악을 보여주는 화면의 스크린 샷
  1. Trigger 설정

    • Schedule Trigger 노드로 20분 간격 자동 실행

  2. 게시판 리스트 가져오기

    • HTTP Request 노드로 게시판 리스트 페이지 요청

    • HTML Extract 노드로 각 게시글의 URL 추출

      전화 화면의 한국 이름 목록
  3. 상세 페이지별 크롤링

    • Split Out , HTTP Request , 노드를 통해 각 게시글 상세 페이지 요청

    • HTML Extract로 내용과 첨부파일 링크 추출

      한자 목록의 스크린 샷
  4. 첨부파일 업로드

    • HTTP Request로 첨부파일 다운로드

    • Google Drive 노드로 업로드 처리

      한국 단어 목록의 스크린 샷
  5. Google Sheets에 저장

    • 게시글 제목, 내용, 링크, 첨부파일 메타데이터 등을 Google Sheets 노드로 저장

      숫자 목록을 보여주는 스프레드 시트
  6. Google Mail 로 메일 전송

    • 신규 데이터 정보를 Gmail 로 전송

      문서 목록을 보여주는 한국 웹 사이트의 스크린 샷

결과와 배운점

  • 수작업으로 게시글을 확인하고 수집하던 작업에서 완전히 벗어났어요. 🎉

  • n8nHTML Extract만으로도 생각보다 정교한 크롤링이 가능했습니다.

  • Google DriveGoogle Sheets 연동 과정에서 몇 가지 시행착오(데이터 구조의 잦은 변경으로 인한 기존 설정값 연동 실패)를 겪었지만, 다 해결하고 나니 꽤 안정적으로 작동합니다.

  • 앞으로도 다양한 웹페이지나 게시판에 동일한 로직을 적용할 수 있을 것 같아요.

앞으로의 계획

  • 중복 데이터가 발생하지 않도록 신규 데이터만 추가되도록 처리
    (현재는 기존 등록된 데이터 구분 없이 중복 데이터가 쌓임)

  • 신규 데이터 등록 여부의 실시간 확인을 위한 텔레그램 연동 flow 추가

7
2개의 답글

👉 이 게시글도 읽어보세요