Claude Code 활용 알리 직구 역마진 계산기 1시간 만에 완성

Claude Code 활용 알리 직구 역마진 계산기 1시간 만에 완성

Claude Code 활용 알리 직구 역마진 계산기 1시간 만에 완성

오늘 만들 것

오늘 만들 것
오늘 만들 것

지난 100편에서는 디스코드 FAQ 봇을 제작하면서 텍스트 처리 흐름을 학습했습니다. 이번에는 한 단계 더 실용적인 영역인 '수익화'로 넘어갑니다. 최근 알리익스프레스나 테무를 활용해 구매대행이나 위탁판매를 시작하려는 분들이 많습니다. 하지만 수백 개 상품의 환율, 배송비, 그리고 오픈마켓 수수료까지 고려해야 하는 역마진 계산기 작업은 실시간으로 처리하기에 무척 번거롭습니다. 매일 엑셀을 켜서 두드리는 것은 한계가 있죠.

그래서 이번 편에서는 Claude Code를 활용해 알리익스프레스 상품 URL만 던지면 국내 주요 마켓과의 마진율을 실시간으로 역산하는 역마진 계산기 웹 에이전트를 함께 만들어 봅니다. 단 1시간 만에 작동하는 대시보드를 완성할 수 있습니다.

준비물

이번 프로젝트는 터미널 에이전트가 설치된 로컬 터미널 환경만 있으면 바로 시작할 수 있습니다. 별도의 유료 API나 복잡한 패키지 설정 없이도 브라우저 스크래핑을 위해 Playwright 정도만 준비하면 충분합니다.

만들기

1
계산기 뼈대 기획하기

우선 프로젝트를 시작할 디렉터리를 만들고 터미널에 Claude Code를 실행하여 세션을 시작합니다. 복잡한 연동이 필요할 때는 곧바로 코드를 짜기보다 도구의 /plan 기능을 통해 큰 그림을 그리며 설계를 고정하는 것이 실패를 예방하는 안정적인 방법입니다.

AI에게 보낸 프롬프트
알리 상품 URL을 입력받아 상품 가격과 배송 옵션을 긁어오고, 국내 네이버 쇼핑 등 오픈마켓 가격과 비교해 마진율을 도출하는 Python 기반 Flask 대시보드 웹앱을 만들고 싶어. 마진 계산식에는 플랫폼 수수료 10%, 배송대행지 비용 일괄 5,000원, 그리고 환율 변동비가 반영되어야 해. 우선 어떤 라이브러리가 필요한지 계획(/plan)을 알려주고, app.py와 templates/index.html의 초기 코드 뼈대를 생성해줘.

이러한 방식으로 지시하는 이유는 처음부터 완벽한 스크래핑 로직을 요구할 경우 AI가 복잡한 CSS 셀렉터를 지레짐작으로 작성하다가 오류가 발생하기 쉽기 때문입니다. 우선 계산 흐름과 웹 UI의 틀을 먼저 잡고, 수집 로직을 단계별로 검증하며 구현을 다듬어 나갑니다. 지시를 받은 에이전트는 /plan을 통해 Flask, Playwright 라이브러리 구성을 제안하고, 뼈대가 되는 파일들을 로컬 디렉터리에 스스로 생성합니다.

2
알리 실시간 스크래퍼 및 마진 로직 붙이기

초기 뼈대가 생성되었다면, 이제 핵심 기능인 알리 상품 페이지의 실시간 가격 스크래핑을 붙여봅니다. 알리는 가격 표시 방식이 동적으로 변하기 때문에 일반 request 라이브러리보다 Playwright로 렌더링을 기다리도록 구성하는 것이 효과적입니다.

AI에게 보낸 프롬프트
app.py에 Playwright를 추가하여 입력된 알리 상품 URL에서 제품의 원화(또는 달러) 가격과 배송비 정보를 추출하는 함수를 완성해줘. 그리고 margin_calculator 함수를 통해 (국내 오픈마켓 가격 - (알리 가격 + 배송비 + 대행비 5000원 + 오픈마켓 수수료 10%))를 계산해 마진율과 실 마진 금액을 반환하도록 코드를 갱신해줘.

이 단계에서 고려해야 할 점은 알리의 복잡한 웹 페이지 구조와 수시로 나타나는 로그인 팝업입니다. 크롤링 성공률을 높이기 위해 headless 브라우저 설정에 User-Agent와 언어 헤더(ko-KR)를 명시적으로 주도록 지시를 내리면 효율적입니다. 에이전트는 지시를 확인한 뒤 필요한 모듈들을 가져오고 스크래핑 로직을 안정적으로 삽입합니다.

3
직관적인 역마진 경고 UI 대시보드 연동

백엔드 계산식과 스크래퍼가 연결되었으므로, 이를 사용자가 웹 브라우저에서 편리하게 활용할 수 있도록 반응형 UI를 다듬을 차례입니다. 사용자가 매일 직관적으로 보며 마진율을 판정할 수 있도록 구성합니다.

AI에게 보낸 프롬프트
index.html 템플릿의 UI를 다듬어줘. 사용자가 알리 상품 주소와 예상 국내 판매가를 입력하면, 계산된 마진율이 +15% 이상일 때는 초록색의 '마진 안정권' 카드가 뜨게 하고, 마진율이 0% 이하(역마진)거나 한 자릿수일 때는 빨간색 경고 메시지와 '진입 불가' 안내 카드가 나타나도록 CSS 스타일과 함께 구성해줘. Vanilla CSS로 깔끔하고 세련된 다크모드 형태로 디자인해줘.

기본 스타일 대신 다크 톤과 선명한 경고 색상을 사용해 시각적인 대비를 극대화합니다. 사용자가 매일 켜두고 쓰는 도구인 만큼 눈의 피로를 최소화하고 중요 알림의 시인성을 극대화하기 위한 설계입니다.

4
로컬 터미널 실행 및 교차 검수

모든 코드 작업이 끝났다면 실제 실행하여 디버깅을 진행합니다. 터미널 환경에서 로컬 서버를 작동시킵니다.

AI에게 보낸 프롬프트
로컬에서 Flask 서버를 실행하고, 실제 테스트해 볼 수 있도록 터미널에 서버 실행 URL을 출력해줘. 그리고 혹시 플레이라이트 브라우저 의존성이 미설치되어 생길 에러가 있다면 사전에 명령어 실행(/run)을 통해 확인하고 처리해줘.

에이전트는 터미널에 playwright install chromiumpython app.py를 연달아 호출하며 개발 서버를 구동합니다. 실행 로그와 브라우저 렌더링 과정을 점검하며 정상 동작 여부를 명확히 표시합니다. 웹 주소에 접속해 상품 정보를 입력하면, 계산된 조건에 따라 역마진 상태일 때 붉은색 알림 카드가 화면에 나타납니다.

자주 발생하는 문제와 해결법

  • 알리 페이지를 긁을 때 가격이 0원이나 null로 잡히는 현상
    알리는 국가 및 통화 설정에 따라 가격 DOM 구조가 변경될 수 있습니다. 이럴 때는 Playwright 셀렉터가 로딩될 때까지 기다리는 wait_for_selector 대기 시간을 5초에서 10초 정도로 넉넉하게 설정하고, 페이지 소스 내 meta 태그(meta[property='og:image'] 부근의 og:price:amount 등)를 우선적으로 읽어내도록 파싱 로직을 보완하면 원활하게 처리됩니다.
  • Playwright 브라우저 실행 시 발생하는 오류
    운영체제 환경에 따라 브라우저 바이너리가 누락되었을 때 주로 발생합니다. 터미널에서 playwright install 명령을 실행해 Chromium 의존성을 설치하면 정상적으로 해결됩니다.
  • 국내 판매가 수동 입력 프로세스 개선
    네이버 검색 API(Client ID, Secret 발급 필요)를 등록해 연동하거나, 검색이 번거롭다면 Playwright를 사용해 네이버 쇼핑 검색 페이지를 백그라운드에서 조회하여 1페이지 최저가를 가져오는 방식으로 조회 로직을 확장하여 자동화할 수 있습니다.

다음에 추가할 기능

한 걸음 더

이번 101편에서는 단일 상품의 마진을 빠르게 검수하는 역마진 계산기 대시보드를 제작했습니다. 하지만 매번 URL을 복사하여 입력하는 방식은 반복 작업이 요구됩니다. 다음 102편에서는 Claude Code의 /schedule 또는 크론탭 자동화를 결합하여, 지정해 둔 관심 상품 50개의 알리 가격을 주기적으로 감시하다가 가격이 떨어지거나 환율이 우호적으로 바뀌어 마진이 20%를 돌파하는 순간 디스코드로 알림을 발송하는 실시간 마진 모니터링 시스템으로 확장해 보겠습니다.

관련 검색어

  • 🔍 Claude Code 사용법
  • 🔍 Claude Code 비교
  • 🔍 역마진 계산기 사용법
  • 🔍 역마진 계산기 비교
  • 🔍 구매대행 사용법
  • 🔍 구매대행 비교

댓글 쓰기

다음 이전