저는 평소 게임 게시판 데이터를 수집하는 크롤러, Notebook LM 웹크롤러를 직접 만들어서, 수집한 데이터를 (백터화하여) 게임 Q&A 지식 챗봇, 노트북LM에서 공략본, 소개 자료 등을 제작하고 있습니다.
오늘 사례는 게임 게시판 데이터를 수집하는 크롤러를 클로드 디스패치와 클로드 채널을 통해 외부에서도 쉽게 자동화한 사례입니다.
[생성된 결과물]
[1. 게임소개자료]
위키사이트 정보를 수집하여 게임 소개자료, 설정집 제작 가능(자작 프로그램 웹크리퍼 for 노트북LM 이용)
[2. 게임 공략본]
공략본(팁, Q&A, 공략)제작을 위해 게임 커뮤니티의 팁, Q&A등을 활용
→ 다양한 형태의 공략본(포맷, 내용) '딸깍' 제작 가능
[3. 게임 챗봇]
궁금한 내용들(설정, 공략 등)에 대한 Q/A 가능
[자작 게시판 크롤링 대시보드 화면]
게임 게시판에는 다양한 정보성글, Q&A에 대한 내용이 가득
→ 이를 응용하여 공략본과 챗봇 구축 가능
[크롤러 화면]
URL 입력 후, 원하는 페이지 번호만 입력하면 자동으로 크롤링
[데이터 다운로드 화면]
수집된 데이터는 게시판별로 범위를 정하여 다운로드 가능
[데이터 형태]
[문서 정보]
게시판: 붉은사막
번호: 9128
제목: 하인리히 연구소 첫시작(2)
작성자: 루리웹-159388
날짜: undefined
[본문]
어디 퀘스트 뭘 해야하나요?
[댓글]
- 시간죽이기: 혹시 저처럼(?) 관련퀘 없이 달려서? 간거면 퀘가 안열리지 않을까요? 다른곳 연구도 그렇잖습니까. 만약 정상적인 진행이면 그동네 퀘를 좀 해주면 연계로 열리겠지 싶네요
- 루리웹-159388: 그렇군요 연구 열리나 싶어서 열심히 챕터8 해결했더니 변화가 없네요 ^^
-DOE-
[문서 정보]
게시판: 붉은사막
번호: 9129
제목: 급급 질문 드립니다(4)
작성자: 루리웹-6466274577
날짜: undefined
[본문]
성소에서 플레이다하다 봉인 뭐 잘 못 눌렀더니 템이 삭제 되서 하루종일 찾아 다녔는데 쿠쿠밥통?? 안에 들어있네요 이거 어떻게 꺼내나요?? 버리기 하면 사라지죠??
[댓글]
- 시간죽이기: 버리기 하면 눈앞에 뚝
- 루리웹-6466274577: 버리기 하면 다시 나타나는 군요 감사합니다!!
- 시간죽이기: 참고로 오른쪽 인벤에 있는 어비스 기어 재료도 넣을수 있습니다. 이건 넣고 꺼내기로 인벤으로 상호 이동됨
- 루리웹-6466274577: 저 밥통이 인벤안에 인벤 같은건가보네요 감사합니다
-DOE-
게시글 별로 날짜와 제목, 댓글을 하나로 청킹할 수 있게 '-DOE-'로 태깅(Delimiter Of Elements)
※ 절대로 End of Document를 실수로 입력한 거 아님
[사용예 : 노트북LM에 크롤링 데이터를 쏟아붙고 공략본, Q&A챗봇으로 활용]
자작 크롤러의 기능 자체는 아주 잘 작동하는데, 막상 쓰려면 매번 귀찮은 수동 과정을 거쳐야 했습니다.
🤦♂️ 기존 사용 방법 (스킬 적용 전: 9단계의 고통)
크롤링을 한 번 하려면 탭을 왔다 갔다 하며 아래 9단계를 거쳐야 했습니다.
루리웹 게임게시판(bbs.ruliweb.com/game) 접속
게임 이름 검색창에 입력 → 찾기 클릭
검색 결과에서 원하는 게임 클릭
주소창에서 URL 마지막 숫자(게시판 번호) 확인 및 복사
로컬 크롤러(localhost:3050) 접속
'데이터 수집' 메뉴 클릭
URL 입력창에
https://bbs.ruliweb.com/game/{번호}입력시작/종료 페이지 범위 입력
'크롤링 시작' 버튼 클릭
자주 쓰는 툴인데 매번 이렇게 세팅하는 게 너무 번거로웠습니다.
※ 크롤링을 위해서는 URL에 게임게시판의 고유코드 를 넣어야 하는데 그 코드를 찾으려면 직접 게임게시판을 검색해서 찾아서 크롤러에 입력하는게 귀찮아짐
이렇게 애매할 때는?
🚀 우리의 해결사(디스패치 or 오픈클로)의 스킬을 이용해보자!우리 스터디에서 도시아재님과 박정기 스터디장님을 통해 오픈클로(OpenClaw) 역할을 하는 디스패치(Dispatch) 개념을 배우고 나서 바로 제 크롤러에 적용해 봤습니다.
디스패치(Dispatch)란?
Claude에게 단순히 "이게 뭐야?"를 묻는 게 아니라 "이 일을 처리해"라고 작업을 위임하는 방식입니다. Claude가 스스로 브라우저를 열고, 클릭하고, 입력하고, 다음 툴로 넘기는 일련의 행동을 자율적으로 실행합니다.
스킬(Skill)이란?
여기에 스킬을 조합하면 훨씬 강력해집니다. Claude에게 "이런 요청이 오면 이런 순서로 디스패치해"라는 행동 지침을 사전에 정의해 두는 파일입니다. 한 번 만들어두면 매번 구구절절 설명할 필요 없이 알아서 작동합니다.
⚙️ 실제로 디스패치되는 흐름
사용자: "바이오하자드 레퀴엠 1페이지 크롤링해줘"
Claude (디스패치 실행):
루리웹 게임 검색 페이지 자동 접속 (브라우저 조작)
"바이오하자드 레퀴엠" 검색 및 클릭 (검색 처리)
URL에서 게시판 번호(87029) 추출 (데이터 추출)
localhost:3050크롤러로 이동 (툴 간 이동)URL 및 페이지 자동 입력 (입력 자동화)
크롤링 시작 버튼 클릭 (최종 실 행)
👉 완료! 사람이 9단계를 하던 일을 Claude가 한 번에 디스패치해서 처리합니다.
🧠 핵심 포인트: 검색 결과 엣지 케이스 처리
단순 자동화를 넘어서 한 가지 고민이 있었습니다. "바이오하자드"처럼 시리즈 게임을 검색하면 여러 게시판이 나오거든요. 그래서 스킬(Skill)에 3가지 케이스에 대한 대응 방식을 명시했습니다.
상황
Claude의 처리 방식
결과가 1개일 때
묻지 않고 바로 크롤링 진행
결과가 여러 개일 때
목록을 텍스트로 정리해 보여주고 사용자가 선택하게 함
결과가 없을 때
크롤링을 멈추고 게임명을 다시 확인해달라고 요청
💬 실제 대화 예시 (결과가 여러 개일 때)
나: "바이오 하자 드 1페이지만 크롤링해줘"
Claude: "'바이오하자드' 검색 결과에 게시판이 여러 개 나왔어요. 어느 걸 크롤링할까요?
바이오하자드 레퀴엠 (신작)
바이오하자드 4 (구작)"
나: "1번"
Claude: "바이오하자드 레퀴엠 크롤링 시작! ✅"
자동화의 편리함은 취하면서도, 중요한 순간의 선택권은 사용자가 유지하는 구조가 아주 마음에 들었습니다.
📊 비포/애프터 (Before vs After)
구분
❌ 스킬 없을 때 (수동)
✨ 스킬 사용 후 (디스패치)
조작 단계
9단계 (탭 이동 및 복붙 포함)
게임명 + 페이지만 말하면 끝
소요 시간
1~2분
10~20초
동음이의어 처리
직접 게시판 확인 후 번호 복사
Claude가 목록 정리 후 선택 요청
휴먼 에러
오타, 번호 입력 실수 종종 발생
자동 추출 및 입력으로 실수 제로
🛠 스킬(Skill) 만드는 과정
만드는 과정도 생각보다 간단했습니다. Claude와 대화하면서 제가 직접 크롤링하는 과정을 화면으로 시연한 뒤, "방금 한 과정을 스킬로 만들어줘"라고 요청했습니다.
Claude가 대화 흐름을 분석해서 SKILL.md 파일을 뼈대부터 직접 작성해 줬고, 저는 엣지 케이스(검색 결과 여러 개) 대응 로직만 추가로 다듬었습니다.
Plaintext
ruliweb-crawler/
└── SKILL.md ← "이런 요청이 오면 이렇게 디스패치해"라는 지침 파일
이 SKILL.md 파일에 디스패치 순서, 케이스 처리 로직, 주의사항 등을 정의해두고 .skill 파일로 패키징하면 설치 및 공유가 가능해집니다.
🎁 스킬 내용(SKILL.md)
디스패치 흐름을 참고하실 수 있도록 제가 작성한 스킬 파일의 내용을 공유합니다. (※ 단, 이 스킬은 제 로컬 환경(localhost:3050)에 크롤러가 켜져 있어야만 작동합니다.)
YAML
---
name: ruliweb-crawler
description: >
루리웹 게임 게시판 자동 크롤링 스킬. 게임 이름과 페이지 범위만 말하면, 루리웹에서 해당 게임 게시판을 검색하고 URL을 추출한 뒤 localhost:3050 크롤러를 자동 실행한다.
다음과 같은 요청이 오면 반드시 이 스킬을 사용할 것:
- "○○○ 크롤링해줘"
- "○○○ 게시판 수집해줘"
- "루리웹에서 ○○○ 긁어와줘"
- "○○○ 1~N페이지 크롤링"
- 게임 이름 + 크롤링/수집/긁기 등의 조합
---
# 루리웹 게임 게시판 자동 크롤링
사용자가 게임 이름과 페이지 범위를 주면, 루리웹 게임 게시판에서 해당 게임을 찾아 URL을 추출하고, localhost:3050 크롤러에서 자동으로 크롤링을 시작한다.
## 실행 순서
### 1단계: 입력값 확인
사용자에게 다음 정보를 확인한다 (이미 말했으면 다시 묻지 않는다):
- 게임 이름: 검색할 게임명
- 시작 페이지: 기본값 1
- 종료 페이지: 기본값 1
모두 확인됐으면 바로 2단계로 진행한다.
### 2단계: 루리웹에서 게임 게시판 URL 추출
1. https://bbs.ruliweb.com/game 으로 이동
2. 페이지 중간의 "게임 이름으로 검색" 입력창에 게임명 입력
3. "찾기" 버튼 클릭
4. 검색 결과를 확인하고 아래 경우에 따라 처리한다.
#### 검색 결과 처리
* 경우 A: 결과가 정확히 1개 → 해당 게임 링크를 클릭하고 3단계로 이동.
* 경우 B: 결과가 여러 개 → 자동으로 판단하지 않고, 검색된 게임 목록을 사용자에게 보여준 뒤 선택 요청. (예: "어느 게시판을 크롤링할까요? 1. RE:4 / 2. 레퀴엠") 사용자가 선택하면 해당 링크 클릭 후 진행.
* 경우 C: 결과가 없음 → 크롤링을 멈추고 사용자에게 알림. 수정된 이름을 받으면 2단계부터 재시도.
5. 게임 게시판 페이지로 이동 후 현재 URL에서 게시판 번호 추출
(예: https://bbs.ruliweb.com/family/5614/game/85595 → 게시판 번호: 85595)
* 크롤러에 입력할 URL 형태: https://bbs.ruliweb.com/game/{게시판번호}
### 3단계: localhost:3050 크롤러 설정 및 실행
1. http://localhost:3050 으로 이동
2. 왼쪽 사이드바에서 "데이터 수집" 클릭
3. 대상 게시판 URL 입력창에 추출한 URL 입력
4. 시작/종료 페이지 입력
5. "크롤링 시작" 버튼 클릭
6. 로그 창에서 크롤링이 시작됐는지 확인
### 4단계: 완료 보고
크롤링이 시작되면 사용자에게 게시판 번호, 크롤링 범위, 시작 여부를 알려준다. 크롤링은 백그라운드에서 계속 진행되므로 완료 여부는 사용자가 직접 확인하도록 안내한다.
## 주의사항
- localhost:3050이 실행 중이지 않으면 크롤러 서버를 먼저 켜달라고 안내한다.
- 크롤링 시작 후 브라우저 도구가 타임아웃될 수 있는데, 이는 크롤러가 작동 중이라는 정상적인 신호다.
💡 마치며
오픈클로 스터디에서 디스패치를 배우자마자 "그럼 내가 쓰는 툴에 바로 붙여볼 수 있겠다" 싶어서 시도해 본 결과물입니다.
핵심은 Claude를 단순한 '질문 도구'가 아니라 '작업 실행자(Agent)'로 쓴다는 것입니다. 이미 만들어둔 강력한 크롤러가 있었고, Claude 디스패치는 그 크롤러를 돌리기 위한 앞단의 귀찮은 9단계를 통째로 대신해 주는 훌륭한 비서가 되었습니다.
[비슷하게 응용해 볼 수 있는 아이디어]
특정 사이트에서 데이터 찾아서 로컬 DB에 자동 저장하기
매일 자주 쓰는 웹 서비스 → 정해진 입력값으로 자동 실행시키기
웹 검색 → 결과 필터링 → 내가 만든 다음 툴(웹훅 등)로 넘기기
본인만의 툴이나 루틴이 있으신 분들은 디스패치로 꼭 한번 붙여보세요! 생각보다 훨씬 쉽고 재미있습니다 :)