n8n으로 간단한 웹크로러 만들어 보기

소개

저는 지난 여름 가야산과 내장산 국립공원 생태탐방원을 다녀왔었는데요.
취소분 발생하는 것을 아내가 광클하여 예약하더라고요.
반복적인 것은 아무래도 사람보다 기계가 잘하는 일이니까, n8n을 통해 만들어 보기로 합니다.

진행 방법

ChatGPT 에게 뭘 하려고 하는지 우선 던져 줍니다.

사이트를 이리 저리 탐색하고 나더니, 워크플로우를 어떻게 구성하면 되는지 알려 줍니다.

한국 컴퓨터 화면의 스크린 샷


JSON으로 만들어 준다길래 그러라고 했더니, 임포팅이 제대로 안되네요.

그냥 설명해준 노드를 하나씩 만들어 봅니다.

1) set노드에서 각 탐방원의 코드 리스트와 이번달, 다음달 구분자를 만듭니다.
2) code노드에서 탐방원코드와 월구분이 조합되어 수집할 주소 요청의 파라미터값이 만들어 집니다.
3) HTTP Request노드에서 각 요청 주소의 html를 수집하고
4) code노드에서 필요한 정보를 파싱 합니다.

5) IF노드에서 토요일 내역을 체크해서
6) code노드에서 텔레그램 전송에 알맞게 다듬어서
7) 텔레그램으로 전송합니다!

iPhone의 WhatsApp 메시지 스크린 샷

잔여분을 다 내보내는 것으로 테스트하고, 1 이상인 것만 전송하게 하고 잤는데 새벽부터 뭐가 잔뜩 와 있습니다.

아내에게 보여주니 토요일 말고 추석에는 자리없냐고 합니다.
수정 작업을 진행해 봅니다.

기계 학습 시스템의 프로세스를 보여주는 다이어그램

잔여분 중에서 토요일인 것들과, 특정 기간에 포함되는 것들을 걸러내는 두가지 조건으로 가봅니다.
다음달이 제대로 request되지 않았던 문제도 수정합니다.

뭐 잘 나오는 것 같습니다. 10분 마다로 해두니 너무 자주와서 알람 꺼뒀습니다 ㅎㅎ

결과와 배운 점

AI Agent를 사용해 심도있게 컨텐츠를 가공하거나, 만들어 내는 것은 아니었지만
과거에 파이썬 등으로 웹크롤링을 만들어가는 과정 보다는 너무도 간단하고 수월하게 n8n에서 크롤러를 만들고 텔레그램으로 전송까지 할 수 있었습니다. (소요시간 1시간)

과거에 파이썬에서 모듈,라이브러리의 설치와 메쏘드의 기능을 이해하고 html구조와 css까지 살펴보며 진행해야 했다면, GPT가 분석한 내용으로 모듈을 만들어가고, 원하는 정보의 파싱이 제대로 되었는지 판단 하는 정도로 쉽게 구현할 수 있었습니다.

저는 생태탐방원을 또 가게되는 걸까요? 가야산에 찍은 해돋이입니다.

감사합니다.

1

👉 이 게시글도 읽어보세요