소개
평소에 관심 있는 게시판에서 원하는 정보를 얻기 위해 매번 게시판 페이지에 접속해 게시글을 하나하나 열람하며 내용과 첨부 파일을 확인하는 방법만 사용하고 있었습니다. 😥
하지만 이 방식이 너무 번거롭고 불편해서, 이를 자동화해보기로 결심했어요!n8n을 활용해 20분 간격으로 게시글 데이터를 자동으로 크롤링하고, Google Drive 에 첨부 파일을 저장한 첨부파일 URL 을 포함한 게 시글 데이터를 Google Sheets에 저장하고 Gmail 로 그 결과를 전송하는 데 성공했습니다. 🙌
진행 방법
사용한 도구
n8nGoogle DriveGoogle SheetsGmail
주요 흐름
Trigger 설정
Schedule Trigger노드로 20분 간격 자동 실행
게시판 리스트 가져오기
HTTP Request노드로 게시판 리스트 페이지 요청HTML Extract노드로 각 게시글의 URL 추출
상세 페이지별 크롤링
Split Out,HTTP Request, 노드를 통해 각 게시글 상세 페이지 요청HTML Extract로 내용과 첨부파일 링크 추출
첨부파일 업로드
HTTP Request로 첨부파일 다운로드Google Drive노드로 업로드 처리
Google Sheets에 저장
게시글 제목, 내용, 링크, 첨부파일 메타데이터 등을
Google Sheets노드로 저장
Google Mail 로 메일 전송
신규 데이터 정보를 Gmail 로 전송
결과와 배운점
수작업으로 게시글을 확인하고 수집하던 작업에서 완전히 벗어났어요. 🎉
n8n의HTML Extract만으로도 생각보다 정교한 크롤링이 가능했습니다.Google Drive와Google Sheets연동 과정에서 몇 가지 시행착오(데이터 구조의 잦은 변경으로 인한 기존 설정값 연동 실패)를 겪었지만, 다 해결하고 나니 꽤 안정적으로 작동합니다.앞으로도 다양한 웹페이지나 게시판에 동일한 로직을 적용할 수 있을 것 같아요.
앞으로의 계획
중복 데이터가 발생하지 않도록 신규 데이터만 추가되도록 처리
(현재는 기존 등록된 데이터 구분 없이 중복 데이터가 쌓임)신규 데이터 등록 여부의 실시간 확인을 위한 텔레그램 연동 flow 추가