동적 가격 책정은 마켓플레이스의 표준이 되었으며, 가격은 수요, 재고 및 경쟁업체의 행동에 따라 하루에 10-20회 변경됩니다. Wildberries, Ozon 또는 Avito의 판매자라면 아는 사실입니다: 경쟁업체의 가격 인하를 가장 먼저 알게 된 사람이 검색 결과에서 위치를 유지합니다. 그러나 모든 마켓플레이스는 하나의 IP에서 대량 파싱을 엄격히 차단합니다. 이 기사에서는 프록시를 통해 자동 가격 모니터링을 설정하여 계정이나 IP 주소 차단의 위험 없이 24/7 데이터를 수집하는 방법을 알아보겠습니다.
마켓플레이스가 가격 파싱을 차단하는 이유와 작동 방식
모든 대형 마켓플레이스는 자동 데이터 수집에 대한 다단계 보호를 사용합니다. 이유는 간단합니다: 대량 파싱은 서버에 부하를 주고 데이터를 수집할 수 있는 사람에게 경쟁 우위를 제공합니다. 예를 들어, Wildberries는 하루에 최대 300,000개의 가격 변동을 기록하며, 이러한 데이터가 경쟁업체에게 무료로 제공되는 것을 원하지 않습니다.
다음은 전형적인 파싱 보호 시스템의 작동 방식입니다:
- 하나의 IP에서 요청 빈도 추적 — 만약 1분에 50개 이상의 상품 카드을 열면 시스템은 이를 사람이 아니라는 것을 이해합니다. 일반 구매자는 1분에 3-5개의 상품을 조회하고, 파서는 100-500개를 조회합니다.
- User-Agent 및 헤더 분석 — 올바른 브라우저 헤더가 없는 요청은 즉시 블랙리스트에 올라갑니다. 많은 초보자들이 헤더 설정 없이 기본 Python requests 라이브러리를 사용하는데, 이는 보호 시스템이 가장 먼저 감지하는 것입니다.
- JavaScript 및 쿠키 확인 — 현대의 마켓플레이스는 Cloudflare, DataDome 및 자체 안티봇 시스템을 사용합니다. 이들은 JavaScript 실행, 세션 쿠키의 존재, 마우스 및 스크롤 행동을 확인합니다.
- IP의 지리적 위치 — 만약 독일이나 미국의 IP로 러시아 Ozon을 파싱하면 의심스럽게 보입니다. 시스템은 오래된 가격을 표시하거나 아예 접근을 차단할 수 있습니다.
- 데이터 센터 차단 — 대부분의 마켓플레이스는 클라우드 제공업체(AWS, Google Cloud, Hetzner)의 IP 주소 데이터베이스를 유지하고, 이들로부터의 요청을 자동으로 제한합니다.
차단의 결과는 다양할 수 있습니다: 속도 제한(rate limit)에서부터 IP의 완전 차단까지 몇 주 동안 지속될 수 있습니다. 판매자 계정을 통해 파싱하는 경우 — 개인 계정 차단의 위험이 있으며, 이는 비즈니스에 치명적입니다.
실제 사례: Wildberries의 한 판매자가 일반 VPS 서버를 통해 경쟁업체의 가격을 파싱하도록 설정했습니다. 2시간 만에 500개 상품에 대한 데이터를 수집했습니다. 하루 후, 그의 IP가 완전히 차단되었음을 발견했습니다 — 일반 구매자로서 사이트에 들어가는 것도 불가능해졌습니다. 차단이 자동으로 해제될 때까지 2주를 기다려야 했습니다.
가격 모니터링에 적합한 프록시 유형: 비교
동적 가격 책정을 모니터링하기 위해서는 각각 장단점이 있는 세 가지 유형의 프록시가 적합합니다. 선택은 예산, 파싱 양 및 지리적 요구 사항에 따라 달라집니다.
| 프록시 유형 | 장점 | 단점 | 어떤 작업에 적합한가 |
|---|---|---|---|
| 주거용 프록시 | 실제 가정 사용자 IP, 차단 위험 최소화, 모든 지리적 위치 지원, Cloudflare 우회 | 다른 유형보다 비쌈, 속도가 변동할 수 있음 | Wildberries, Ozon, 강력한 보호가 있는 사이트의 파싱. 지역 가격 모니터링. |
| 모바일 프록시 | 모바일 운영자의 IP, 하나의 IP를 수천 명이 사용 — 차단이 거의 불가능하며, 높은 신뢰 점수 | 가장 비쌈, 제한된 지리적 위치, 주기적인 IP 변경 | 마켓플레이스의 모바일 애플리케이션을 통한 파싱, 가장 강력한 보호 우회 |
| 데이터 센터 프록시 | 높은 속도, 낮은 가격, 안정적인 연결, 무제한 트래픽 | 쉽게 감지됨, 많은 마켓플레이스가 예방적으로 데이터 센터를 차단함 | 심각한 보호가 없는 사이트, Avito, 소규모 온라인 상점의 파싱 |
선택에 대한 실용적인 권장 사항:
- Wildberries 및 Ozon — 주거용 또는 모바일 프록시만 사용하십시오. 이 플랫폼은 Cloudflare 및 자체 안티봇 시스템을 사용하며, 데이터 센터는 90%의 경우 차단됩니다.
- Yandex.Market — 러시아 지리적 위치의 주거용 프록시, 시스템은 IP와 검색 지역의 일치를 확인합니다.
- Avito — 데이터 센터를 사용할 수 있지만, 회전 및 요청 간 지연이 필요합니다. 보호가 마켓플레이스보다 약합니다.
- AliExpress 및 국제 플랫폼 — 필요한 국가의 주거용 프록시, 많은 경우 지역에 따라 다른 가격을 표시합니다.
예산이 제한적이라면 — 회전이 있는 20-30개의 주거용 프록시 풀로 시작하십시오. 이는 차단 없이 하루에 500-1000개의 상품을 모니터링하는 데 충분합니다.
Wildberries, Ozon, Yandex.Market 및 Avito의 보호 특성
각 플랫폼은 고유한 보호 메커니즘 조합을 사용합니다. 이러한 특성을 이해하면 파서를 올바르게 설정하는 데 도움이 됩니다.
Wildberries
러시아 마켓플레이스 중 가장 강력한 보호를 제공합니다. Cloudflare를 사용하며 "I'm Under Attack" 모드를 활성화하여 콘텐츠에 접근하기 전에 JavaScript 챌린지를 확인합니다. 추가적으로 추적하는 항목은:
- 브라우저의 지문 — canvas, WebGL, 글꼴, 화면 해상도
- TLS 지문 — 프로토콜 버전 및 암호 스위트 집합
- 행동 요인 — 스크롤 속도, 마우스 움직임, 페이지 체류 시간
- 세션 기록 — 만약 당신이 바로 상품 카드를 열기 시작하고 메인 페이지 및 카테고리를 조회하지 않으면 의심스럽게 보입니다.
작동하는 방법: 주거용 프록시와 함께 사용하는 Headless 브라우저(Puppeteer, Playwright), 실제 사용자 행동을 에뮬레이션, 요청 간 5-15초의 지연, 20-30 요청 후 User-Agent 및 프록시 회전.
Ozon
자체 안티봇 시스템과 DataDome을 사용합니다. 특징: 가격은 배송 도시에 따라 다를 수 있으며, 시스템은 IP를 통해 지역을 결정하고 물류를 고려하여 해당 가격을 표시합니다.
Ozon은 알려진 데이터 센터 IP 범위를 적극적으로 차단합니다. 일반 VPS를 통해 파싱할 경우 80%의 확률로 CAPTCHA 또는 403 오류를 받을 수 있습니다. 또한 쿠키를 추적합니다 — 요청 간 세션을 저장하지 않으면 감지됩니다.
작동하는 방법: 러시아 지리적 위치의 주거용 프록시, 요청 간 쿠키를 저장해야 하며, 상품을 즐겨찾기에 추가하는 것을 에뮬레이션(사용자 "이력" 생성), 3-10초의 지연.
Yandex.Market
중간 수준의 보호를 제공합니다. 주요 특징은 지역에 대한 강력한 제약입니다. 만약 당신이 블라디보스토크의 IP로 모스크바의 가격을 파싱하면, 시스템은 블라디보스토크의 가격을 표시하거나 아예 접근을 차단합니다. 올바른 모니터링을 위해서는 당신이 추적하는 지역의 프록시가 필요합니다.
Yandex는 또한 행동 순서를 분석하는 자체 안티프로드 시스템을 사용합니다. 의심스럽게 보이는 행동: 직접 링크로 상품 카드를 열거나, 검색 없이 동일한 간격으로 요청하는 것(예: 정확히 5초마다), 정적 요청(이미지, 스타일)이 없는 경우.
작동하는 방법: 필요한 지역의 주거용 프록시, 전체 사이클 에뮬레이션: 검색 → 상품 목록 → 상품 카드, 무작위 지연 4-12초, 주기적인 프록시 변경.
Avito
언급된 플랫폼 중 가장 관대한 보호를 제공합니다. 주요 보호는 하나의 IP에서 광고 조회 수에 대한 제한(시간당 약 100-150 광고)입니다. 제한을 초과하면 CAPTCHA가 표시되거나 1-2시간의 임시 차단이 발생합니다.
Avito는 또한 쿠키 및 기본 헤더의 존재를 확인하지만 복잡한 JavaScript 챌린지는 사용하지 않습니다. 데이터 센터는 작동하지만 제한이 있으며, 회전과 적절한 요청 빈도가 필요합니다.
작동하는 방법: 회전이 있는 데이터 센터, 광고 간 2-5초의 지연, 올바른 브라우저 헤더, 쿠키 저장. 대량의 경우 — 주거용 프록시.
24시간 파싱을 위한 프록시 회전 설정
올바른 프록시 회전은 차단 없이 안정적인 파싱을 위한 핵심 요소입니다. 세 가지 주요 회전 전략이 있으며, 각 전략은 서로 다른 시나리오에 적합합니다.
전략 1: 요청 수에 따른 회전
요점: 특정 요청 수(예: 매 20-50 요청 후) 후에 프록시를 변경합니다. 이는 대부분의 작업에 가장 간단하고 효과적인 방법입니다.
각 플랫폼에 대한 권장 값:
- Wildberries: 하나의 프록시당 15-25 요청 후 변경
- Ozon: 20-30 요청
- Yandex.Market: 30-50 요청
- Avito: 50-100 요청
중요한 점: 무작위성을 추가하세요. 요청 후 엄격하게 20 요청 후에 프록시를 변경하지 마십시오 — 18-23 요청 후 무작위로 변경하십시오. 이는 보호 시스템에 대한 패턴을 덜 예측 가능하게 만듭니다.
전략 2: 시간 기반 회전
요청 수와 관계없이 매 N분마다 프록시를 변경합니다. 예측할 수 없는 부하가 있는 작업에 적합합니다 — 예를 들어, 실시간 가격 모니터링 시 업데이트 수가 급격히 변할 수 있습니다.
권장 간격: 강력한 플랫폼(Wildberries, Ozon)에는 5-15분, 보다 관대한 플랫폼(Avito, 소규모 상점)에는 15-30분.
전략 3: Sticky sessions (끈적한 세션)
하나의 "사용자 세션" 내에서 모든 요청에 대해 동일한 프록시를 사용합니다. 예: Ozon에 접속하여 "노트북"을 검색하고 5개의 상품 카드를 열고 하나를 장바구니에 추가하는 구매자를 에뮬레이션합니다. 모든 이러한 행동은 쿠키를 저장하면서 하나의 프록시를 통해 진행됩니다.
세션이 종료된 후(3-10분 후) — 프록시를 변경하고 새로운 세션을 시작합니다. 이는 가장 "인간적인" 패턴이지만 더 많은 프록시가 필요하고 구현이 더 복잡합니다.
사용 시기: 간단한 회전으로는 작동하지 않는 매우 강력한 보호가 있는 플랫폼의 파싱. 또한 판매자의 개인 계정을 통해 데이터를 수집하는 데 적합합니다.
실용적인 조언:
전략을 조합하세요. 예를 들어: 20-30 요청 후 끈적한 세션을 사용하고 세션 종료 후 프록시를 변경합니다. 시간 제한을 추가하세요 — 세션이 10분 이상 지속되면 강제로 프록시를 변경합니다. 이러한 하이브리드 접근 방식은 감지로부터 최대한의 보호를 제공합니다.
프록시 지원 가격 모니터링을 위한 준비된 도구
파서를 처음부터 작성하고 싶지 않다면, 프록시 지원이 내장된 준비된 솔루션이 있습니다. 러시아 및 국제 플랫폼에서 가격 모니터링을 위한 가장 인기 있는 도구를 살펴보겠습니다.
러시아 마켓플레이스를 위한
1. Mpstats (mpstats.io)
Wildberries 및 Ozon 분석을 위한 전문 서비스. 판매, 재고, 경쟁업체 가격에 대한 데이터를 수집합니다. 자체 시스템과 통합할 수 있는 API가 있습니다. 서비스는 자체 프록시 인프라를 통해 작동하므로 추가 설정이 필요하지 않습니다.
단점: 높은 비용(전체 접근에 대해 월 15,000 루블 이상), 자신의 프록시를 사용할 수 없음. 월 100만-200만 루블의 매출이 있는 대형 판매자에게 적합합니다.
2. Sellego
가격 책정 자동화에 중점을 둔 유사한 서비스. 경쟁업체의 가격을 추적하고 설정된 규칙에 따라 자동으로 가격을 조정합니다(예: "경쟁업체보다 5% 저렴하게"). 또한 자체 프록시를 통해 작동합니다.
3. Parsehub
코드 없이 파서를 시각적으로 생성하는 도구입니다. 수집해야 할 페이지의 요소를 클릭하면 서비스가 자동으로 파서를 생성합니다. 프록시를 지원하며, 프로젝트 설정에서 자신의 목록을 추가할 수 있습니다. 프로그래밍을 전혀 모르는 사람에게 적합합니다.
비용: 무료 요금제 — 월 200페이지, 유료 — 월 $149부터 10,000페이지. 100-200개의 상품을 모니터링하는 데는 무료 요금제가 충분합니다.
자가 개발을 위한
파서를 직접 설정할 준비가 되어 있거나 팀에 프로그래머가 있는 경우:
1. Scrapy (Python)
내장된 프록시 지원, 회전, 오류 처리 기능을 갖춘 강력한 파싱 프레임워크입니다. 목록에서 프록시를 자동으로 변경하는 미들웨어가 있습니다. Python에 대한 지식이 필요하지만 문서가 훌륭합니다.
JavaScript가 없는 간단한 사이트의 파싱에 적합합니다. Wildberries 및 Ozon의 경우 JavaScript 처리를 위해 Splash 또는 Selenium과 결합해야 합니다.
2. Puppeteer / Playwright (JavaScript)
실제 사용자를 완전히 에뮬레이션하는 Headless 브라우저 — JavaScript를 실행하고 쿠키를 저장하며 마우스 움직임을 에뮬레이션할 수 있습니다. 강력한 보호가 있는 플랫폼에 적합합니다.
프록시 설정은 간단합니다 — 브라우저 시작 시 하나의 매개변수만 필요합니다. Playwright는 더 현대적이고 안정적이라고 여겨지지만, Puppeteer는 더 많은 준비된 예제와 라이브러리를 가지고 있습니다.
3. Octoparse
시각적 파서 생성기를 갖춘 Windows용 데스크톱 애플리케이션입니다. 프로그래밍이 필요하지 않으며, 수집해야 할 요소를 클릭하기만 하면 됩니다. 프록시 지원, 실행 스케줄러, Excel/CSV로 내보내기 기능이 내장되어 있습니다.
비용: 제한이 있는 무료 버전(월 10,000건), 유료 요금제는 월 $75부터 시작합니다. 중소기업에 적합한 좋은 옵션입니다.
15분 만에 프록시와 함께 가격 파서 설정하기
Parsehub를 예로 들어 가격 모니터링을 설정하는 가장 간단한 방법을 보여드리겠습니다 — 이 방법은 파서를 사용해본 적이 없는 분들에게도 적합합니다.
1단계: 등록 및 설치
- parsehub.com에 등록하세요 (무료 요금제 있음)
- Windows 또는 Mac용 데스크톱 애플리케이션을 다운로드하여 설치하세요
- 애플리케이션을 실행하고 계정에 로그인하세요
2단계: 프로젝트 생성 및 요소 선택
- "New Project"를 클릭하고 상품이 있는 페이지의 URL을 붙여넣습니다 (예: Ozon의 카테고리 또는 검색 결과)
- Parsehub가 내장 브라우저에서 페이지를 로드합니다
- 첫 번째 상품의 이름을 클릭하세요 — Parsehub가 페이지에서 모든 유사한 요소를 자동으로 강조 표시합니다
- 상품 가격을 클릭하세요 — 가격이 수집할 데이터 목록에 추가됩니다
- 상품 링크, 평점, 리뷰 수와 같은 다른 필요한 필드를 추가하세요
3단계: 프록시 설정
- 프로젝트 설정을 열어주세요 (톱니바퀴 아이콘)
- "Proxy Settings" 섹션을 찾으세요
- "Use proxy"를 선택하고 프록시 데이터를 IP:PORT:USERNAME:PASSWORD 형식으로 붙여넣으세요
- 프록시 목록이 있다면 "Rotate proxies" 옵션을 활성화하세요 — Parsehub가 요청 간에 프록시를 자동으로 변경합니다
4단계: 일정 설정
- 프로젝트 설정에서 "Schedule"을 찾으세요
- 실행 빈도를 선택하세요: 매시간, 6시간마다, 하루에 한 번 등
- 동적 가격 책정을 위해 최적의 빈도는 — 2-4시간마다
5단계: 데이터 내보내기
- 파서의 첫 번째 실행 후 데이터가 "Data" 탭에 나타납니다
- "Export"를 클릭하고 형식을 선택하세요: CSV, Excel, JSON
- 각 실행 후 Google Sheets 또는 이메일로 데이터를 자동으로 전송하도록 설정할 수 있습니다
전체 설정에는 10-15분이 소요됩니다. 이후 파서는 일정에 따라 자동으로 작동하여 경쟁업체의 가격을 수집하고 데이터를 전송합니다.
중요: Parsehub를 통해 Wildberries 및 Ozon을 파싱할 때는 반드시 주거용 프록시를 사용하세요. 데이터 센터는 회전이 있더라도 차단됩니다. 200-500개의 상품을 모니터링하기 위해서는 10-20개의 프록시 풀로 충분합니다.
파싱 중 차단으로 이어지는 5가지 실수
올바른 프록시를 사용하더라도 일반적인 실수를 범하면 차단될 수 있습니다. 다음은 실무에서 가장 흔한 문제입니다.
실수 1: 너무 높은 요청 속도
많은 사람들이 가능한 한 빨리 데이터를 수집하려고 하여 초당 10-20개의 요청을 합니다. 이는 보호 시스템에 즉시 감지됩니다. 실제 사람은 초당 20개의 상품 카드를 열 수 없습니다.
해결책: 요청 간 지연을 추가하세요. 간단한 사이트의 경우 최소 2-3초, 보호가 있는 마켓플레이스의 경우 5-10초가 필요합니다. 지연을 무작위로 설정하세요 — 엄격하게 5초가 아니라 4초에서 8초 사이에서 무작위로 설정합니다.
실수 2: 모든 요청에 대해 하나의 프록시 사용
주거용 프록시를 구입했더라도 하루에 수백 개의 요청에 대해 하나의 IP를 사용하면 차단됩니다. 보호 시스템은 각 IP의 활동을 추적합니다.
해결책: 최소 10-20개의 프록시 풀을 사용하고 회전하세요. 대량의 경우(하루 1000개 이상의 상품)에는 50-100개의 프록시가 필요합니다.
실수 3: 요청 헤더의 부재 또는 잘못된 설정
User-Agent가 없는 요청이나 라이브러리의 기본 User-Agent(예: "Python-requests/2.28.1")로 이루어진 요청은 즉시 봇으로 감지됩니다.
해결책: 항상 실제 브라우저의 User-Agent를 지정하세요. 추가로 Accept, Accept-Language, Accept-Encoding 헤더를 추가하세요. 프록시 변경 시 User-Agent를 변경하세요.
실수 4: 쿠키 및 세션 무시
많은 플랫폼이 사용자 세션을 추적하기 위해 쿠키를 사용합니다. 매 요청을 "깨끗한 상태"에서 쿠키 없이 수행하면 의심스럽게 보입니다.
해결책: 동일한 세션 내에서 요청 간 쿠키를 저장하세요. 프록시 변경 시 쿠키를 지우고 새로운 세션을 시작하세요. 쿠키를 자동으로 관리하는 라이브러리(예: Python의 requests.Session, JavaScript의 puppeteer)를 사용하세요.
실수 5: 탐색 에뮬레이션 없이 상품 카드만 파싱
만약 당신이 메인 페이지, 검색 및 카테고리를 건너뛰고 바로 상품 카드의 직접 링크를 열면, 이는 실제 사용자 행동과 다릅니다.
해결책: 강력한 보호가 있는 플랫폼(Wildberries, Ozon)의 경우 사용자의 전체 경로를 에뮬레이션하세요: 메인 → 검색 또는 카테고리 → 상품 목록 → 상품 카드. 이는 파싱 시간을 늘리지만 차단 위험을 크게 줄입니다.
결론
동적 가격 모니터링은 마켓플레이스에서 모든 판매자에게 중요한 작업입니다. 경쟁업체의 가격은 하루에 여러 번 변경되며, 변화에 가장 먼저 반응하는 사람이 검색 결과에서 위치를 유지하고 수익을 얻습니다. 그러나 모든 대형 플랫폼은 파싱을 엄격히 차단하므로, 올바르게 설정된 프록시 없이는 데이터를 수집할 수 없습니다.
이 기사의 주요 요점: Wildberries 및 Ozon에는 주거용 또는 모바일 프록시만 사용하세요 — 데이터 센터는 90%의 경우 차단됩니다. 프록시 회전을 반드시 설정하세요 — 20-30 요청 후 IP를 변경하세요. 요청 간 지연(5-10초)을 추가하고 이를 무작위로 설정하세요. JavaScript 보호가 있는 플랫폼에는 headless 브라우저를 사용하세요. 실제 사용자 행동을 에뮬레이션하세요 — 상품 카드를 직접 열지 말고 검색 및 카테고리를 통한 전체 경로를 에뮬레이션하세요.
기술적 세부 사항을 이해하고 싶지 않다면, Parsehub 또는 Octoparse와 같은 준비된 도구를 사용하세요 — 이들은 프로그래밍이 필요 없으며 프록시 지원이 내장되어 있습니다. 대량의 데이터 및 특정 작업에는 Scrapy 또는 Puppeteer를 사용하여 자체 파서를 개발하는 것이 좋습니다.
러시아 마켓플레이스에서 자동 가격 모니터링을 설정할 계획이라면, 주거용 프록시로 시작하는 것을 권장합니다 — 이는 Wildberries, Ozon 및 기타 플랫폼에 안정적인 접근을 제공하며 차단 위험을 최소화합니다. 특히 어려운 경우나 마켓플레이스의 모바일 애플리케이션과 작업할 때는 모바일 프록시를 사용하세요, 이는 러시아 운영자의 IP를 제공합니다.