Claude Code 기반 크림 관심 상품 알림봇 1시간 만에 완성
24시간 구동되는 가격 감시 알림 시스템의 필요성
한정판 제품이나 인기 IT 기기를 구매할 때 가격 변동을 매번 직접 확인하는 과정은 대단히 소모적입니다. 거래 플랫폼의 가격이 수시로 바뀌는 상황에서 목표하는 가격대에 도달했을 때 즉시 알림을 받을 수 있다면 시간을 크게 아낄 수 있습니다.
이러한 수동 감시의 번거로움을 해결하기 위해 실시간 가격 추적기를 개발해 활용하는 방법이 있습니다. 이번 지침에서는 브라우저 자동화 도구와 메시지 전송 API를 결합하여 원하는 상품의 최저가를 추적하고 알림을 보내는 크림 감시 시스템 제작 과정을 설명합니다.
개발 프로세스 전반에는 터미널 기반 AI 개발 도구인 Claude Code 시스템을 활용합니다. 복잡한 초기 환경 설정부터 세부 로직 구현까지 명령줄 인터페이스를 통해 효율적으로 코드를 작성해 나가는 흐름을 확인할 수 있습니다.

시스템 설계 및 필요한 도구 환경 구성
가장 먼저 가격 데이터를 제공하는 플랫폼에서 정보를 주기적으로 가져오는 방법을 결정해야 합니다. 타겟 플랫폼은 공식적인 데이터 조회 API를 열어두지 않았으므로 화면의 요소를 탐색하여 텍스트를 파싱하는 자동화 방식이 효과적입니다.
안정적인 브라우저 제어를 위해 자동화 라이브러리인 Playwright를 핵심 수집 모듈로 채택합니다. 데이터를 수집한 뒤에는 스마트폰으로 메시지를 즉각 수신할 수 있도록 텔레그램 메신저의 API 연동을 함께 진행합니다.
이번 실습에 필요한 핵심 도구는 터미널 기반 AI 에이전트인 Claude Code 프로그램입니다. 준비 작업이 끝나면 코딩 에이전트를 터미널에서 구동하여 본격적인 스크립트 작성 단계로 진입하게 됩니다.
첫 단계는 특정 상품 상세 페이지에서 최저 즉시구매가를 찾아내는 기초 스크립트를 작성하는 일입니다. 자동화 라이브러리 활용을 지시하기 위해 Claude Code 환경을 실행하고, 다음과 같이 개발 요청 명령어를 입력합니다.
개발 도구 요청 프롬프트 예시:
크림 특정 상품 페이지 URL(예: https://kream.co.kr/products/84705)을 매개변수로 받아 Playwright로 브라우저를 백그라운드에서 실행하고, 화면의 '즉시 구매가' 텍스트 영역의 숫자를 긁어와 콘솔에 출력하는 Node.js 스크립트 'kream_check.js'를 작성해줘.요청을 받은 에이전트는 필요한 라이브러리를 먼저 로드하고 타겟 페이지의 DOM 구조 분석을 시작합니다. 브라우저가 화면을 로딩한 후 즉시구매가에 해당하는 CSS 셀렉터를 찾아 매칭하는 작업을 자동으로 처리합니다.
생성된 스크립트 파일은 playwright 라이브러리의 headless 실행 옵션을 사용하여 백그라운드에서 빠르게 화면을 읽어옵니다. 작성이 완료된 스크립트를 Node.js로 실행하면 실시간 즉시구매가 수치가 텍스트 형식으로 콘솔 창에 출력되는 상태가 됩니다.
콘솔 창에 가격을 띄우는 단계를 넘어, 언제 어디서든 스마트폰으로 즉시 변동 상황을 전달받을 수 있도록 연동 작업을 시작합니다. 봇 토큰과 채팅방 고유 식별자는 보안을 위해 소스 코드와 분리하여 환경 변수 파일로 관리합니다.
개발 도구 요청 프롬프트 예시:
'kream_check.js' 파일에 텔레그램 알림 연동 코드를 추가해줘. 환경 변수 'TELEGRAM_TOKEN'과 'TELEGRAM_CHAT_ID'를 사용하고, 가격 조회가 정상적으로 끝나면 테스트 메시지로 '현재 즉시 구매가는 N원입니다'라는 알림을 발송하도록 코드를 보강해줘.수행 명령에 따라 에이전트는 환경 변수 로더인 dotenv 패키지와 관련 오픈소스 라이브러리를 설치하는 과정을 밟습니다. 이후 기존 모듈에 메시지 발송 함수를 추가하고 예외 처리 구문을 보완하여 에러가 발생해도 전체 프로세스가 멈추지 않도록 설계합니다.
환경 설정용 파일에 발급받은 인증 키 정보들을 올바르게 등록하고 스크립트를 재구동합니다. 지정한 텔레그램 대화방으로 가격 알림이 전송되는 현상을 통해 전송 로직의 정상 동작을 판단할 수 있습니다.
매번 주기적으로 조회가 일어날 때마다 무조건 알림을 발송하는 방식은 메시지 피로도를 극도로 높입니다. 설정한 목표가보다 낮을 때만 작동하고, 이전 조회값과 비교하여 변동이 있을 때만 알림을 보내는 제어 구조를 적용합니다.
개발 도구 요청 프롬프트 예시:
내가 지정한 목표가(예: 280000)를 변수로 설정하고, 즉시구매가가 이 목표 가격 이하일 때만 알림을 전송하게 해줘. 그리고 불필요한 반복 알림을 막기 위해 직전에 알림을 보낸 가격을 'last_alert.json' 파일에 저장하고, 가격 변동이 없다면 전송을 스킵하는 로직을 추가해줘.에이전트는 이 요구사항을 충족하기 위해 파일 시스템 모듈을 코드 내에 삽입합니다. 로컬 저장 장치에 JSON 형태로 직전 수집 가격을 기록하는 비교 프로세스를 만들어 냅니다.
스크립트가 돌 때마다 파일에 적힌 이전 금액과 현재 조회한 금액을 실시간 대조하여, 변화가 감지되거나 하락했을 때에만 전송 트리거를 당깁니다. 불필요한 스팸 전송이 대폭 감소하며 실용적인 정보만 걸러서 받아볼 수 있는 구조가 성립됩니다.
알림 시스템이 온전히 작동하려면 개발자가 수동으로 매번 스크립트를 켤 필요 없이 일정한 간격으로 스스로 구동되어야 합니다. 시간 주기별로 함수를 자동으로 호출하는 스케줄링 패키지를 도입하여 동작 주기를 자동화합니다.
개발 도구 요청 프롬프트 예시:
이 감시 시스템이 매 1시간마다 자동으로 구동될 수 있도록 'node-cron' 패키지를 사용해서 전체 실행을 통제하는 'index.js' 메인 파일을 만들어줘.에이전트는 최상위 실행 파일 역할을 담당할 별도의 스크립트를 정의하고 기존의 조회 로직과 전송 기능을 연계합니다. 주기 설정을 1시간 단위로 정의한 스케줄러 등록 코드가 이 시점에 모듈에 통합됩니다.
기본 구성 파일의 패키지 매니저 파일에도 스케줄러 종속성이 깔끔하게 업데이트됩니다. 백그라운드 상에서 프로세스가 끊기지 않고 약속된 시간 주기마다 알림 스크립트를 재호출하도록 만드는 메인 시스템 구조가 확립됩니다.

수집 안정화 및 차단 방어 설정 고도화
웹 자동화 수집 도구는 오랜 시간 작동할 때 타겟 사이트의 방어벽에 가로막혀 조회가 중단되는 상황에 직면할 수 있습니다. 요청이 잦아져 차단 상태를 지시하는 상태 코드나 공백 페이지가 리턴되는 시점에는 아래와 같이 우회 옵션 지시를 내립니다.
개발 도구 요청 프롬프트 예시:
서버에서 봇으로 인식해 접속을 차단하는 현상이 발견됐어. Playwright 브라우저 구동 시 일반적인 크롬 브라우저의 User-Agent 헤더 값을 주입하고, 화면 크기(viewport)를 실제 데스크톱 크기처럼 세팅해서 로봇 감지 차단 문제를 줄이도록 스크립트를 개선해줘.명령을 수신한 코딩 어시스턴트는 실제 웹 브라우징 환경처럼 보이기 위한 설정을 소스 코드의 옵션 객체에 반영합니다. 데스크톱 해상도 설정과 보편적인 브라우저 헤더 정보를 설정값에 명시하여 정상적인 접속으로 오인하도록 조정합니다.
여기에 로딩 간격을 무작위로 지연시키는 코드를 부가하여 규칙적인 조회로 발생할 수 있는 이상 감지 패턴을 최소화합니다. 이러한 보완 작업을 마친 모듈을 구동 서버에 배치해 두면, 플랫폼 측의 차단 감지를 피하며 크림 사이트의 변동 가격을 실시간으로 감시할 수 있는 체계가 갖춰집니다.
이런 글도 있어요
관련 검색어
- 🔍 Claude Code 사용법
- 🔍 Claude Code 비교
- 🔍 크림 알림봇 사용법
- 🔍 크림 알림봇 비교
- 🔍 텔레그램 봇 사용법
- 🔍 텔레그램 봇 비교