소개
평소에 관심 있는 게시판에서 원하는 정보를 얻기 위해 매번 게시판 페이지에 접속해 게시글을 하나하나 열람하며 내용과 첨부 파일을 확인하는 방법만 사용하고 있었습니다. 😥
하지만 이 방식이 너무 번거롭고 불편해서, 이를 자동화해보기로 결심했어요!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 추가