마켓플레이스에서 판매하고 매주 수동으로 가격을 변경하는 경우, 매시간 가격을 재조정하는 경쟁자들이 판매를 빼앗아 갈 것입니다. 자체 모니터링 시스템은 이 문제를 해결하지만, 마켓플레이스와 경쟁사 웹사이트는 봇, IP 주소 및 데이터 센터의 전체 서브넷을 적극적으로 차단합니다. 이 기사에서는 올바른 프록시, 도구 및 요청 빈도를 선택하여 차단 없이 데이터를 수집하는 작업 방식을 살펴보겠습니다.
자체 경쟁사 모니터링 시스템이 필요한 이유
기존의 가격 모니터링 서비스(시장에 수십 개가 존재)는 월 몇 천 루블부터 시작하며, 일반적으로 상품 수나 데이터 업데이트 빈도를 제한합니다. 500~5000 SKU의 카탈로그를 보유하고 Wildberries, Ozon 및 Avito에서 동시에 판매하는 경우, 세 가지 다른 서비스에 가입하는 것보다 자체 시스템이 더 저렴해지며, 여전히 유연성이 부족합니다: 가격 재조정의 맞춤 로직을 설정하거나 비표준 경쟁사 웹사이트 모니터링을 추가할 수 없습니다.
자체 시스템은 세 가지 구체적인 이점을 제공합니다. 첫째, 수집 빈도를 제어할 수 있습니다 — 주요 경쟁자의 가격을 15분마다 확인하고 나머지는 하루에 한 번 확인할 수 있습니다. 둘째, 가격뿐만 아니라 재고, 평점, 리뷰 수, 검색 결과에서의 위치 등 귀하의 비즈니스에 중요한 모든 매개변수를 수집합니다. 셋째, 데이터는 귀하의 것입니다: 내부 마진 분석과 결합하여 자동으로 가격을 재조정하여 손실을 피할 수 있습니다.
경쟁사 모니터링을 기반으로 한 자동 가격 재조정을 도입한 셀러들은 평균적으로 카테고리 상위 10위 내에서의 구매율을 15-25% 증가시키고 있습니다. 이는 가격이 수동보다 시장 변화에 더 빠르게 반응하기 때문입니다. 이는 경쟁이 치열한 카테고리(의류, 전자제품, 가정용품)에서 특히 중요합니다.
웹사이트와 마켓플레이스가 파싱을 차단하는 이유
Wildberries, Ozon 및 대부분의 인터넷 쇼핑몰은 요청 행동을 분석하는 안티봇 시스템을 사용합니다. 만약 하나의 IP에서 1분에 200개의 요청이 간격 없이, 브라우저의 특성 헤더 없이, JavaScript를 실행하지 않고 온다면 — 즉시 봇으로 표시됩니다. 이후 시스템은 CAPTCHA를 제공하거나 잘못된 데이터(가짜 가격)를 제공하거나 IP를 몇 시간 동안 차단합니다.
별도의 문제는 데이터 센터 서브넷입니다. Amazon AWS, Google Cloud, DigitalOcean 및 유사한 공급업체에 속한 IP 주소는 첫 번째 요청을 하기 전에 대부분의 안티봇 시스템에 의해 블랙리스트에 올라갑니다. 마켓플레이스는 공급자의 ASN(자율 시스템 번호)을 보고 전체 범위를 차단합니다. 이는 시간이 지나도 한 시간에 한 번 요청을 보내더라도 마찬가지입니다.
이러한 이유로 전통적인 서버 프록시는 마켓플레이스 모니터링에 잘 작동하지 않습니다: 빠르고 저렴하지만 IP 평판 수준에서 문제가 발생합니다. 우회하기 위해서는 일반 사용자처럼 보이는 IP가 필요합니다 — 이것이 우리가 이후에 다룰 계획의 핵심 아이디어입니다.
시스템 아키텍처: 구성 요소
작동하는 경쟁사 모니터링 시스템은 다섯 개의 블록으로 구성되며, 각 블록은 깊은 프로그래밍 기술 없이도 조립할 수 있습니다 — 준비된 노코드 및 로우코드 도구를 사용하여.
- 목표 목록 — 추적해야 할 경쟁사 상품 카드에 대한 링크가 포함된 표입니다. 일반적으로 Google 스프레드시트 또는 Excel로, 열에는 URL, 마켓플레이스, 귀하의 SKU, 원하는 확인 빈도가 포함됩니다.
- 데이터 수집기 (스크래퍼) — 페이지를 열고 가격, 재고, 평점을 가져오는 프로그램 또는 서비스입니다. 준비된 노코드 파서 또는 Python 스크립트일 수 있습니다.
- 프록시 레이어 — 모든 스크래퍼 요청이 통과하는 레이어로, IP가 마켓플레이스에 의해 차단되지 않도록 합니다.
- 데이터 저장소 — 각 통과의 결과가 타임스탬프와 함께 저장되는 데이터베이스 또는 표입니다.
- 반응 로직 — 시스템이 귀하에게 알림을 보내는 규칙(텔레그램, 이메일) 또는 마켓플레이스 API를 통해 가격을 자동으로 변경하는 규칙입니다.
시작하기 위해서는 Google 스프레드시트 + 노코드 파서(예: Make/Zapier 또는 전문 파싱 서비스 기반) + 프록시 + 알림용 텔레그램 봇의 조합으로 충분합니다. 이는 하루 만에 코드 작성 없이 조립할 수 있습니다. 더 큰 규모(수천 SKU)의 경우, requests/BeautifulSoup 또는 Selenium 라이브러리를 사용하는 Python 스크립트가 필요하며, 이는 서버에서 일정에 따라 실행됩니다.
모니터링을 위한 프록시 선택
프록시 선택은 시스템 전체 성공의 70%를 차지합니다. 세 가지 유형과 각 유형이 적합한 경우를 살펴보겠습니다.
| 프록시 유형 | 사용 시기 | 차단 위험 |
|---|---|---|
| 데이터 센터 프록시 | 안티봇이 없는 간단한 웹사이트, 소규모 인터넷 쇼핑몰의 저빈도 모니터링 | 마켓플레이스에서 높음, 일반 웹사이트에서 낮음 |
| 주거용 프록시 | Wildberries, Ozon, Avito — 마켓플레이스 모니터링을 위한 주요 도구 | 올바른 회전 시 낮음 |
| 모바일 프록시 | 봇에 대한 강력한 보호가 있는 카드의 점검, 수동 점검 시 CAPTCHA 우회 | 최소, 그러나 운영 비용이 더 비쌈 |
Wildberries 및 Ozon에서 수천 개의 카드를 매일 모니터링하기 위한 최적의 선택은 주거용 프록시입니다. 이들은 실제 가정용 공급자에 속하는 IP를 가지고 있으며 데이터 센터 블랙리스트에 올라 있지 않습니다. 서버 프록시보다 비쌉니다. 그러나 차단 및 CAPTCHA 우회를 위해 시간을 절약할 수 있어 시스템 운영 비용을 줄입니다.
모바일 프록시는 주거용 IP가 CAPTCHA를 받는 경우와 같은 상황에 대비하여 보관하는 것이 좋습니다. 예를 들어, 강화된 보호가 있는 특정 복잡한 상품 카테고리를 모니터링할 때 유용합니다. 모바일 통신사의 서버는 CGNAT(수천 명의 가입자와 공유되는 IP)를 사용하므로, 이러한 IP가 차단되면 실제 사용자에게 영향을 미치고 플랫폼은 이를 매우 조심스럽게 사용합니다.
데이터 수집 도구
프로그래머가 아니라면 코딩 없이 시스템을 구축할 수 있는 몇 가지 방법이 있습니다. 첫째, 노코드 가격 모니터링 및 파싱 서비스는 카드의 URL를 지정하고 시각적 인터페이스를 통해 가격 요소의 CSS 선택기를 선택할 수 있습니다 — 페이지의 필요한 블록을 클릭하는 것만으로 가능합니다. 둘째, Google 스프레드시트와 브라우저 확장을 결합하여 페이지를 일정에 따라 확인하고 결과를 표에 기록할 수 있습니다.
팀에 기본적인 기술을 가진 사람이 있다면 Python 기반의 시스템이 최대한의 유연성을 제공합니다. 최소한의 스크립트는 다음과 같습니다:
import requests
from bs4 import BeautifulSoup
proxies = {
"http": "http://login:password@proxy_host:port",
"https": "http://login:password@proxy_host:port",
}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
}
url = "https://example-shop.ru/product/12345"
response = requests.get(url, proxies=proxies, headers=headers, timeout=15)
soup = BeautifulSoup(response.text, "html.parser")
price = soup.select_one(".product-price").get_text(strip=True)
print(f"현재 가격: {price}")
가격을 JavaScript를 통해 로드하는 페이지(이는 Wildberries 및 Ozon에서 일반적임)의 경우, 일반 requests는 작동하지 않습니다 — 일반 사용자가 하는 것처럼 페이지를 완전히 렌더링하는 Selenium 또는 Playwright 기반의 헤드리스 브라우저가 필요합니다. 이 접근 방식은 느리지만 동적 콘텐츠에서도 정확한 데이터를 제공합니다.
회전 및 요청 빈도 설정
품질 좋은 프록시를 사용하더라도 요청이 너무 자주 그리고 일관되게 이루어지면 시스템이 차단될 수 있습니다. 마켓플레이스의 안티봇 알고리즘은 IP뿐만 아니라 행동 패턴도 분석합니다: 요청 간의 간격, 페이지 접근 순서, 헤더의 반복성.
차단 위험을 줄이는 작업 회전 규칙은 다음과 같습니다:
- 각 요청마다 또는 5-10개의 요청마다 IP를 변경하세요 — 대부분의 주거용 프록시 공급자는 타이머 또는 요청에 따라 자동 회전을 지원합니다.
- 고정 간격 대신 3초에서 15초 사이의 임의 지연을 추가하세요.
- 실제 브라우저 목록에서 User-Agent를 번갈아 사용하세요 — 수천 개의 요청에 대해 동일한 헤더를 사용하지 마세요.
- 하루 중 시간에 따라 부하를 분산하세요: 00:00에 전체 카탈로그를 한 번에 확인하지 말고, 몇 시간에 걸쳐 확인하세요.
- 지리적으로 관련된 IP를 사용하세요 — 경쟁자가 러시아에서 판매하는 경우, 프록시는 러시아 지리적 위치를 가져야 하며, 그렇지 않으면 가격과 재고가 귀하의 지역과 다를 수 있습니다.
하루에 1000-3000개의 카드를 모니터링하기 위해서는 5-10분마다 회전하는 수십 개의 동시 IP 풀로 충분합니다. 더 큰 규모(수만 개의 확인)의 경우, API를 통해 회전을 지원하는 대규모 주거용 IP 풀을 가진 공급자가 필요합니다. 데이터 수집 스크립트에 IP 변경을 통합할 수 있습니다.
Wildberries, Ozon 및 Avito 모니터링의 특징
각 플랫폼은 고유한 보호 특성을 가지고 있으며, 시스템을 이에 맞게 조정해야 합니다.
Wildberries는 가격 및 재고에 대한 데이터를 내부 API를 통해 제공하며, 이를 직접 호출하여 HTML 마크업을 파싱할 필요 없이 JSON 응답을 받을 수 있습니다. 이는 브라우저에서 페이지를 렌더링하는 것보다 빠르고 안정적이지만, 이 API는 하나의 IP에서 요청 빈도에 제한이 있으므로, 시간당 50-100개 이상의 상품을 모니터링할 때 프록시 회전이 필수입니다.
Ozon은 JavaScript 렌더링을 적극적으로 사용하며, 일부 섹션에서는 마우스 행동 및 스크롤 속도를 확인하는 등 더 공격적인 봇 방지 기능을 제공합니다. Ozon을 안정적으로 모니터링하려면 일반 HTTP 요청이 아닌 실제 사용자 행동을 에뮬레이션하는 헤드리스 브라우저가 필요합니다.
Avito는 주로 하나의 IP에서 요청 빈도와 광고 검색 패턴을 추적합니다. 경쟁사의 광고를 모니터링하기 위해서는(예: 귀하의 틈새 시장에서 새로운 광고를 추적하거나 가격 변동을 확인하는 경우) 요청 빈도를 낮게 유지하는 것이 중요합니다 — 하나의 IP에서 광고당 10-15분에 한 번 요청하는 것이 좋습니다. 그렇지 않으면 계정이나 IP가 섀도우 밴에 걸려 최신 데이터 없이 명확한 오류 없이 제공됩니다.
많은 SMM 전문가와 중재자는 유사한 작업을 위해 Dolphin Anty, AdsPower 또는 Multilogin과 같은 안티디텍트 브라우저를 사용합니다. 이러한 도구는 자동 수집이 의심스러운 데이터를 보여줄 때 수동으로 경쟁사 카드의 점검을 위해 별도의 프로필을 통해 연결된 프록시로 확인하는 데도 적합합니다.
데이터 저장 및 대시보드
수집된 데이터는 분석할 수 있는 편리한 방법 없이는 무의미합니다. 소규모 카탈로그(500 SKU 이하)의 경우, 날짜별 가격 이력을 포함한 Google 스프레드시트로 충분하며, 경쟁사의 가격 변동을 빨간색 또는 초록색으로 강조 표시하는 조건부 서식을 사용할 수 있습니다. 더 큰 규모의 경우 데이터베이스가 필요합니다 — PostgreSQL이나 단일 서버에서 작동하는 경우 SQLite도 적합합니다.
수집된 데이터를 기반으로 Google Data Studio(구 Looker Studio) 또는 Power BI에서 간단한 대시보드를 구축하는 것이 편리합니다. 여기서 경쟁사의 가격 변동을 지난 30일 동안 확인하고, 귀하의 위치와의 가격 차이, 각 경쟁사의 가격 변동 빈도를 볼 수 있습니다. 이러한 시각화는 패턴을 파악하는 데 도움이 됩니다 — 예를 들어, 경쟁자가 매주 월요일 아침에 가격을 변경하면 이 주기를 기반으로 전략을 조정할 수 있습니다.
현재 가격뿐만 아니라 모든 변경 이력을 타임스탬프와 함께 저장하는 것이 중요합니다. 이는 나중에 시즌성을 분석하고, 세일 전의 덤핑을 파악하며, 다음 유사한 기간(예: 11.11 또는 블랙 프라이데이)에서 경쟁사의 행동을 예측하는 데 도움이 됩니다.
시스템 구축 시 자주 발생하는 오류
실제로 대부분의 DIY 모니터링 시스템은 미리 피할 수 있는 몇 가지 전형적인 오류로 인해 고장납니다.
- 모든 모니터링에 하나의 IP 사용. 품질 좋은 프록시라도 결국에는 차단될 수 있으며, 수천 개의 요청이 회전 없이 이루어지면 더욱 그렇습니다.
- 브라우저 헤더 무시. User-Agent 없이 요청을 보내거나 구식 헤더를 사용하는 것은 안티봇 시스템에 즉각적인 신호를 보냅니다.
- 너무 높은 확인 빈도. 매분 모니터링하는 것은 5-10명의 주요 경쟁자에게만 의미가 있으며, 나머지 카탈로그는 몇 시간마다 확인하는 것으로 충분합니다.
- 오류 처리 부족. 웹사이트가 CAPTCHA를 반환하거나 일시적으로 사용할 수 없는 경우, 시스템은 이를 인식하고 나중에 재시도해야 하며, 빈 값이나 오류 값을 현재 가격으로 기록해서는 안 됩니다.
- 마켓플레이스를 위한 데이터 센터 프록시. 프록시 유형에 대한 비용 절감은 지속적인 차단과 매일 수동으로 IP를 변경해야 하는 결과를 초래합니다 — 결국 시스템은 더 많은 수동 작업을 요구하게 됩니다.
결론
마켓플레이스에서의 경쟁사 모니터링 시스템은 일회성 설정이 아니라 올바른 아키텍처가 필요한 작업 도구입니다: 목표 목록, 스크래퍼, 프록시 레이어, 데이터 저장소 및 변화에 대한 반응 로직. 전체 시스템의 안정성을 좌우하는 핵심 요소는 프록시입니다. 서버 IP는 Wildberries 및 Ozon의 안티봇 시스템에 의해 빠르게 차단되므로, 정기적인 마켓플레이스 모니터링을 위해서는 회전이 가능한 품질 좋은 IP를 예산에 포함시켜야 합니다.
Wildberries, Ozon 또는 Avito에서 경쟁사 가격 모니터링을 계획하고 있다면, 주거용 프록시로 시작하세요 — 이는 수집된 데이터의 높은 신뢰성과 적절한 회전 시 최소한의 차단 위험을 보장합니다. 가장 보호가 강한 카드의 점검을 위해서는 모바일 프록시를 예비로 보관하고, 덜 보호된 웹사이트에서의 보조 작업에는 더 저렴한 데이터 센터 프록시도 적합합니다.