n8n으로 서울시보 사이트 웹크롤링을 도전...했으나 실패했습니다

소개

  • 제가 하고자 했던 것은 이번주 들었던 웹크롤링을 서울시보 사이트에 적용해서 이메일로 보내주는 워크플로우였습니다.
    서울시는 매주 목요일 시보를 발간하는데, 여기에 올라오는 공고 목차를 뽑아낸 내용들을 받는 것을 이번 1차적인 목표로 하고, 만약 성공한다면 그 이후에는 제가 원하는 키워드만 선별한 내용을 받고 싶었습니다.
    (https://event.seoul.go.kr/seoulsibo/list.do 서울시보 사이트)

한국어 웹 사이트의 홈페이�지

진행 방법

이번에도 챗GPT를 선생님 삼아 만들어보고자 다음과 같은 순서로 질문했고, 각 과정에서 난 오류를 간단하게 정리하자면 다음과 같습니다. (이렇게 정리한 것도 gpt가 요약해주었습니다)

  1. 서울시보 웹사이트 크롤링 구상

    • https://event.seoul.go.kr/seoulsibo/list.do 페이지에서 원하는 공고만 골라 자동으로 이메일을 받기 위한 크롤링 방법 문의

    2. n8n 워크플로우 구성

    • Schedule Trigger → HTTP Request → Function(Code) → … 순으로 단계별 워크플로우를 어떻게 만드는지 설명 요청

    3. 브라우저 DevTools로 API 엔드포인트 찾기

    • F12 Network 탭 XHR 필터에서 list.ajax 요청을 못 찾는 문제

    • Response 탭에 HTML만 보이고 JSON 호출 경로를 확인하지 못함

    4. n8n HTTP Request 노드 설정 오류

    • HTTP Request 노드에 Content‑Type, User‑Agent, Origin, Referer 헤더 추가

    • Body 파라미터로 page, pageUnit, menuSeq 사용

    • 계속 404 에러 발생 → 잘못된 엔드포인트 혹은 파라미터 이름 문제 의심

    5. 올바른 API 엔드포인트 및 파라미터 이름

    • 실제 호출해야 할 경로는 selectMenuList.do 또는 list.ajax 중 올바른 one\

    • 폼 필드 이름은 seq 여야 JSON이 정상 반환됨

결과와 배운 점

워크플로우 과정은 다음과 같습니다.

다른 유형의 FPS를 보여주는 다이어그램

정확하게 어느 부분이 오류인지 계속 해결되지 않아 http request와 code노드를 반복하게 된 것 같은데, 여기서 배운 점은
1. gpt도 내가 작업 하고 있는 것의 모든 세세한 과정을 알고 있지 않는 이상 완벽한 해결책을 주지 않는다.
2. 모델은 o4-mini-high가 가장 잘 알려주는 것 같다

입니다.

계속되는 비슷한 오류의 반복에 시간이 오래 걸려 이번에 그 부분을 해결하지 못했지만, 다시 한 번 오류 해결을 도전해봐야겠습니다.

그리고 이 전에 가장 간단한 기초적인 웹크롤링 연습이 필요할 것 같다는 생각이 들었습니다.

2
4개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요