한줄 요약
암환자 일자리 매칭 서비스를 위해 당근알바 크롤러를 Claude Code로 만들었습니다. 크롤러 구현은 놀라울 정도로 쉬웠지만, "전국 커버"라는 기획 문제에서 막혀 고민 중입니다.
이런 분들께 도움돼요
크롤러를 처음 만들어보고 싶은 비개발자
AI로 자동화를 시도하다가 "기획의 벽"을 만난 분
당근마켓/당근알바 데이터 수집에 관심 있는 분
소개: 시도하고자 했던 것과 그 이유
문제 상황 (Before)
암을 경험한 분들이 일자리를 찾기가 정말 어렵습니다. 체력적 한계로 풀타임이 힘들고, 유연한 근무시간이나 단기 계약이 필요한데, 이런 조건의 일자리를 일일이 찾아다니는 건 현실적으로 불가능해요.
당근알바는 동네 기반 단기 일자리가 많아서 딱 맞는 플랫폼인데, 매일 앱을 열어서 확인하는 건 너무 비효율적이었습니다.
시작하게 된 계기
"암환자 분들이 유연한 일자리를 찾기 어려우니, 당근알바 공고를 자동으로 모아서 전달해주면 어떨까?"
이 생각으로 Fresh Work 프로젝트를 시작했습니다. 첫 번째 자동화 대상으로 당근알바 크롤러를 선택했어요.
진행 방법: 어떤 도구를 사용했고, 어떻게 활용했나 요?
사용한 도구
도구명: Claude Code (VSCode 확장)
모델: Claude Opus 4.5
기술 스택: Python, Selenium, BeautifulSoup, SQLite
AI와 협업한 과정
1. 크롤러 기본 구조 만들기
상황: 당근알바 페이지를 크롤링하고 싶은데, 웹 크롤링 경험이 거의 없었어요.
이렇게 요청했어요:
당근알바 페이지(https://www.daangn.com/kr/jobs/)를 크롤링해서 공고 정보를 수집하고 싶어. 이 URL로 접속해서 웹 구조를 분석하고, 크롤러를 만들어줘.
결과: Claude가 알아서 페이지 구조를 분석하고, Selenium으로 동적 로딩을 처리하는 크롤러를 만들어줬어요. 제목, 급여, 근무시간, 위치, 심지어 매너온도까지 18개 필드를 자동 추출하는 코드가 완성됐습니다.
Test 수집 데이터 요약본:
Test 수집 데이터 상세본:
느낀 점: "이게 이렇게 쉽게 된다고?" 싶었어요. URL만 던져주면 알아서 웹 구조를 파악하고 코드를 짜주니까요.
2. 전국 크롤링 시도 (여기서 문제 발생)
상황: 특정 지역이 아니라 전국의 당근알바를 모두 수집하고 싶었어요.
이렇게 요청했어요:
전국의 모든 당근알바를 크롤링하고 싶어. 지역별로 순회하면서 수집할 수 있게 해줘.
결과:
동(洞) 레 벨로 크롤링 → 전국 동 개수가 너무 많아서 시간/비용 폭발
구(區) 레벨로 올림 → 당근은 동 단위로 분류해서 아무것도 안 잡힘
느낀 점: 기술적으로는 가능한데, 현실적으로 불가능한 상황. 이건 코드 문제가 아니라 기획 문제였어요.
인상적이었던 순간
"오!" 했던 순간: 당근알바 URL만 전달했는데, Claude가 알아서 웹 구조를 분석하고 필요한 데이터를 추출하는 코드를 짜준 순간이요. Selenium 설정, 동적 로딩 대기, JSON-LD 파싱까지 다 알아서 해결해줬어요.
막혔던 순간과 해결
문제: 전국 단위 크롤링이 현실적으로 어려움
동 레벨: 시간/비용 과다
구 레벨: 당근 구조상 불가능
현재 상태: 아직 해결 못 함. 특정 지역만 MVP로 시작할지, 다른 접근법을 찾을지 고민 중.
결과와 배운 점
Before vs After
항목
Before
After
공고 수집
수작업 불가능
특정 지역 자동 수집 가능
수집 항목
-
18개 필드 (제목, 급여, 매너온도 등)
전국 커버
목표
미해결 (고민 중)
결과물
당근알바 크롤러: Python 스크립트 (Selenium + SQLite)
수집 데이터:
daangn_jobs.db(SQLite 데이터베이스)수집 필드: 제목, 회사명, 주소, 급여, 근무시간, 매너온도, 뱃지, 지원자 수 등 18개
배운 점과 나만의 꿀팁
효과적이었던 것
URL만 던져주기: "이 페이지 크롤링해줘"라고 URL과 함께 요청하면 Claude가 알아서 구조 분석
구체적인 출력 형식 요청: "SQLite에 저장해줘", "JSON으로 출력해줘" 등 결과물 형태를 명확히
단계별 진행: 먼저 목록 수집 → 그다음 상세 페이지 → 마지막에 DB 저장
이렇게 하면 안 돼요 (주의사항)
처음부터 전국 단위로 설계하지 말 것: 작은 범위로 먼저 검증하고 확장하기
플랫폼 특성 먼저 파악하기: 당근은 동 단위라는 걸 먼저 알았으면 다르게 접근했을 것
과정 중 시행착오
가장 큰 시행착오는 "전국 크롤링"을 처음부터 목표로 잡은 것이에요.
당근알바는 동네 기반 서비스라서, 동(洞) 단위로 데이터가 분류됩니다. 전국의 모든 동을 순회하려면 시간과 비용이 너무 많이 들고, 구(區) 단위로 올리면 아예 데이터가 안 잡혀요.
배운 점:
AI가 코드는 금방 만들어주지만, "어떤 범위로 할지"는 내가 결정해야 함
기술적으로 가능한 것과 서비스로 의미 있는 것은 다름
갈수록 목적과 기획이 중요해질 것 같다
앞으로의 계획
다음 단계
전국 대신 특정 지역(서울 일부)으로 MVP 축소 검토
5분마다 자동 크롤링 스케줄러 구현
새 공고 발생 시 카카오 알림톡 연동
현재 임시 해결책
5분마다 크롤링을 실행하고, 새로운 글이 없으면 바로 종료하는 방식으로 해뒀어요. 하지만 이것도 완벽한 해결책은 아니에요.
도움이 필요한 부분
목표는 당근에 새 공고가 올라오면 최대한 빠르게 환우분들께 전달하는 것이에요.
"얼마나 자주 크롤링할 것인가"가 고민입니다:
너무 자주 → 비효율적 (새 글 없어도 접속)
너무 뜸하게 → 실시간성 떨어짐
더 효율적인 방법(웹훅, RSS, 변경 감지 등)이 있다면 조언 부탁드립니다!
재사용 가능한 프롬프트
프롬프트 1: 웹 크롤러 기본 구조 만들기
[크롤링할 URL]을 크롤링해서 데이터를 수집하고 싶어.
이 URL로 접속해서 웹 구조를 분석하고, 크롤러를 만들어줘.
수집할 정보:
- [항목 1]
- [항목 2]
- [항목 3]
결과는 [SQLite/JSON/CSV] 형식으로 저장해줘.
프롬프트 2: 동적 페이지 처리
이 페이지는 스크롤하면 추가 데이터가 로딩돼.
Selenium으로 동적 로딩을 처리하고,
모든 데이터를 수집할 수 있게 해줘.
도움 받은 글 (옵션)
참고한 자료
Selenium 공식 문서
Claude Code 사용 가이드
이 글이 도움이 됐다면
비슷한 고민을 하고 계시거나, 전국 단위 크롤링 문제를 해결하신 분이 계시다면 댓글로 조언 부탁드려요!
작성일: 2026-01-23 프로젝트: Fresh Work (암환자 맞춤형 일자리 플랫폼)