Zalando는 5천만 명 이상의 활성 구매자를 보유한 유럽 최대의 패션 마켓플레이스입니다. 경쟁자의 가격 모니터링, 품목 분석 및 트렌드 추적을 위해 판매자와 분석가는 정기적으로 그 페이지를 파싱합니다. 문제는 Zalando가 다단계 보호를 사용한다는 것입니다: Cloudflare, 동적 JavaScript 페이지 및 의심스러운 IP에 대한 공격적인 차단. 올바르게 설정된 프록시 없이는 파서가 10분도 버티지 못합니다.
Zalando가 파서를 차단하는 이유: 보호 작동 방식
Zalando는 단순한 온라인 상점이 아니라 수천 개의 브랜드와 수백만 개의 SKU를 보유한 플랫폼입니다. 가격, 재고 및 할인에 대한 데이터는 회사가 적극적으로 보호하는 귀중한 자산입니다. Zalando의 안티봇 보호 시스템은 여러 수준에서 동시에 작동하며, 이러한 수준을 이해하는 것이 성공적인 파싱을 위한 첫 번째 단계입니다.
Cloudflare: 첫 번째 장벽. 모든 Zalando에 대한 요청은 Cloudflare를 통해 전달됩니다. 이는 HTML 페이지를 받기 전에 IP가 평판을 확인받고, 요청의 행동이 분석되며, 위험 점수가 평가된다는 것을 의미합니다. 데이터 센터의 IP 주소(AWS, Google Cloud, Hetzner, OVH)는 거의 즉시 차단됩니다. 이들은 자동화된 트래픽의 출처로 데이터베이스에 등록되어 있습니다.
JavaScript 렌더링. Zalando의 대부분의 페이지는 React로 작성된 단일 페이지 애플리케이션(SPA)입니다. 제품 데이터는 API 요청을 통해 동적으로 로드됩니다. HTML을 다운로드하는 간단한 HTTP 파서는 빈 페이지나 최소한의 스켈레톤만 받게 됩니다. 정상적인 작동을 위해서는 완전한 브라우저(Playwright, Puppeteer, Selenium) 또는 Zalando의 내부 API에 대한 직접 요청이 필요하며, 이는 추가 분석을 요구합니다.
행동 분석. Zalando는 IP뿐만 아니라 요청 빈도, 페이지 탐색 순서, 클릭 및 스크롤의 부재, 브라우저 헤더와 같은 행동 패턴도 추적합니다. 5초 이내에 하나의 IP에서 20개의 요청이 들어오면 이는 명백한 봇으로 간주됩니다. User-Agent가 "Python Requests"라고 말하면 차단이 즉시 이루어집니다.
지리적 제한. Zalando는 유럽 25개국에서 운영되며, 각 사이트 버전(zalando.de, zalando.fr, zalando.pl 등)은 고유한 규칙을 가지고 있습니다. 독일 버전을 러시아나 미국의 IP로 파싱하려고 하면 높은 의심을 불러일으키며, 종종 리디렉션이나 차단으로 끝납니다. 데이터를 올바르게 수집하려면 목표 사이트 버전과 동일한 국가의 IP가 필요합니다.
Zalando 보호 요약:
- 데이터 센터 IP는 Cloudflare에 의해 자동으로 차단됩니다.
- 브라우저 렌더링이 필요합니다 (JavaScript).
- 요청 빈도는 하나의 IP에서 초당 1-2회 이하로 유지해야 합니다.
- IP는 사이트의 목표 국가와 일치해야 합니다.
- 요청 헤더는 실제 사용자를 모방해야 합니다.
Zalando에 적합한 프록시: 유형 비교
모든 프록시가 Zalando 파싱에 똑같이 유용한 것은 아닙니다. 각 유형을 살펴보고 이 작업에 대한 적용 가능성을 정직하게 평가해 보겠습니다.
| 프록시 유형 | Zalando와 작동합니까? | 속도 | 비용 | 어떤 작업에 적합한가요 |
|---|---|---|---|---|
| 주거용 프록시 | ✅ 예, 잘 작동합니다. | 보통 | 보통 | 가격 모니터링, 카탈로그 수집 |
| 모바일 프록시 | ✅ 예, 훌륭합니다. | 보통 | 높음 | 복잡한 작업, 높은 위험 |
| 데이터 센터 프록시 | ❌ 차단됨 | 높음 | 낮음 | Zalando에 적합하지 않음 |
| 공개/무료 | ❌ 작동하지 않음 | 낮음 | 무료 | 무용지물 |
주거용 프록시는 Zalando 파싱의 대부분 작업에 최적의 선택입니다. 이는 독일, 프랑스, 폴란드 및 기타 유럽 국가의 실제 가정용 인터넷 사용자 IP 주소입니다. Cloudflare는 이러한 IP의 요청을 일반 구매자의 요청과 구별할 수 없습니다. 요청마다 IP를 회전시키면 특정 주소의 차단 위험 없이 파싱을 확장할 수 있습니다.
모바일 프록시는 더욱 신뢰할 수 있지만 비용이 더 비쌉니다. 모바일 통신사(IP 주소: Deutsche Telekom, Orange, T-Mobile)는 Cloudflare에서 가장 높은 신뢰 점수를 가지고 있습니다. 이는 하나의 모바일 IP 뒤에 실제로 수백 명의 사용자가 NAT를 통해 연결될 수 있기 때문입니다. 이는 하나의 IP에서 높은 요청 빈도에도 불구하고 차단 가능성이 낮다는 것을 의미합니다. 모바일 프록시는 오류의 비용이 높은 작업에 사용하는 것이 좋습니다. 예를 들어, 실시간 플래시 세일 모니터링 시입니다.
데이터 센터 프록시는 Zalando에 대해 거의 무용지물입니다. Cloudflare는 클라우드 제공업체 및 호스팅의 ASN(자율 시스템)에 대한 최신 데이터베이스를 유지합니다. AWS eu-west-1 또는 Hetzner의 IP로 요청하면 403 Forbidden 또는 무한 CAPTCHA를 받게 됩니다. 하나 또는 두 개의 요청을 통과하더라도, 규모를 확장하면 전체 IP 범위가 차단될 것입니다.
Zalando를 위한 주거용 프록시: 설정 및 회전
주거용 프록시를 선택했다고 가정해 보겠습니다. 이제 올바르게 설정하는 것이 중요합니다. 잘못된 구성은 주거용 IP의 모든 이점을 무효화할 수 있습니다. 주요 매개변수를 살펴보겠습니다.
IP 회전: 세션 기반 vs 랜덤
주거용 프록시는 두 가지 작동 모드를 가지고 있습니다: 스티키 세션 (몇 분 동안 하나의 IP) 및 요청마다 회전. Zalando에 대해서는 혼합 접근 방식을 권장합니다:
- 1-3분 동안의 스티키 세션 — 제품 카드 전체(주요 사진, 설명, 사이즈 차트, 가격)를 파싱하기 위해. 이는 실제 구매자가 상품을 검토하는 행동을 모방합니다.
- 카테고리 간 IP 변경 — 카탈로그의 한 섹션에서 다른 섹션으로 이동할 때 IP를 변경하세요. 이는 의심스러운 행동 프로필의 축적 가능성을 줄입니다.
- 오류 발생 시 회전 — 429(요청이 너무 많음) 또는 403을 받으면 즉시 IP를 변경하고 30-60초 동안 대기하세요.
프록시의 지리적 위치: 올바른 국가 선택
이는 많은 사람들이 간과하는 매우 중요한 점입니다. zalando.de를 파싱하는 경우 — 독일 IP를 사용하세요. zalando.fr의 경우 — 프랑스 IP를 사용하세요. 프록시의 지리적 위치와 사이트 버전의 불일치는 차단을 받을 수 있는 가장 빠른 방법 중 하나입니다.
또한, Zalando의 다양한 버전은 서로 다른 가격, 다양한 품목 및 다양한 할인을 보여줍니다. 예를 들어, 독일 버전은 종종 폴란드 버전보다 더 넓은 선택을 제공하며, 프랑스 버전의 가격은 동일한 품목에 대해 스페인 버전보다 10-20% 차이가 날 수 있습니다. 여러 시장의 가격 분석이 필요하다면 각 목표 국가의 프록시가 필요합니다.
요청 헤더: 실제 브라우저 모방
주거용 IP를 사용하더라도 요청이 자동화된 것처럼 보인다면 차단될 수 있습니다. 전달해야 할 최소한의 헤더 세트는 다음과 같습니다:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Accept-Language: de-DE,de;q=0.9,en;q=0.8 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 Accept-Encoding: gzip, deflate, br Referer: https://www.zalando.de/
주의: Accept-Language는 프록시 국가와 일치해야 합니다. 독일 IP가 Accept-Language: ru-RU 헤더를 가지고 있다면 이는 보호 시스템에 대한 즉각적인 적신호입니다.
코드 없이 Zalando 파싱을 위한 도구
개발자가 아니지만 Zalando에서 정기적으로 데이터를 수집해야 한다면 몇 가지 준비된 솔루션이 있습니다. 자체 프록시 연결을 지원하는 가장 인기 있는 도구를 살펴보겠습니다.
Octoparse 및 ParseHub — 비주얼 파서
Octoparse 및 ParseHub는 비주얼 인터페이스를 갖춘 데스크톱 애플리케이션입니다. 페이지의 요소를 클릭하고 수집할 항목(제품 이름, 가격, 할인, 사이즈 차트, 평점)을 지정합니다. 두 도구 모두 자체 프록시 연결을 지원합니다.
Octoparse에서 프록시 설정: 설정 → 프록시 설정 → 프록시 추가를 엽니다. 서버 주소, 포트, 로그인 및 비밀번호를 입력합니다. Zalando의 경우 HTTPS 유형을 선택하세요 (Cloudflare와의 호환성 때문에 SOCKS5는 피하는 것이 좋습니다). 주소 풀을 가지고 있다면 "프록시 회전" 옵션을 활성화하세요.
Zalando에 대한 중요한 점: 사이트가 JavaScript를 사용하므로 Octoparse에서 "브라우저 렌더링" 모드를 활성화해야 합니다 (내장 브라우저를 통한 완전 렌더링). 그렇지 않으면 가격 및 재고 데이터가 올바르게 로드되지 않습니다.
Bright Data Scraping Browser 및 유사 도구
더 복잡한 작업을 위해서는 관리형 브라우저와 이미 내장된 프록시 및 안티봇 보호 우회를 제공하는 전문 클라우드 솔루션이 있습니다. 이들은 IP 회전, 쿠키 관리 및 CAPTCHA 해결 작업을 수행합니다. 단점은 자체 프록시를 사용하는 것보다 비용이 더 높다는 것입니다.
Google Sheets + ImportXML — 간단한 작업을 위한 도구
특정 10-20개의 제품 가격을 추적해야 하고 전체 카탈로그를 파싱할 필요가 없다면 Google Sheets의 ImportXML 또는 ImportHTML 기능을 사용할 수 있습니다. 이는 프록시를 필요로 하지 않으며 기본 모니터링에 적합합니다. 그러나 대규모 데이터 수집에는 이 방법이 적합하지 않습니다: Zalando는 Google 요청에 대해 빠르게 오류를 반환하기 시작합니다.
안티탐지 브라우저를 통한 수동 멀티 계정 관리
자동 파싱이 아닌 Zalando 파트너 프로그램에서 여러 판매자 계정을 관리하는 것이 목표라면, 안티탐지 브라우저(Dolphin Anty, AdsPower, GoLogin 또는 Multilogin)가 필요합니다. 이러한 브라우저의 각 프로필은 고유한 지문(fingerprint)을 가지고 있으며 개별 프록시를 통해 연결됩니다. 이는 하나의 컴퓨터에서 여러 계정을 연결할 수 있게 하여 계정 간의 연결 위험을 줄입니다.
Dolphin Anty에서 설정하는 방법: 새 프로필 생성 → 프록시 섹션에서 HTTPS 또는 SOCKS5 유형을 지정하고 필요한 유럽 국가의 주거용 프록시 정보를 입력합니다 → 프록시와 일치하는 국가 및 브라우저 언어를 선택합니다 → 프로필을 저장합니다. 각 프로필은 특정 유럽 국가의 개별 사용자처럼 보이게 됩니다.
지리적 타겟팅: 국가 및 지역별 Zalando 파싱
Zalando는 25개 유럽 국가에서 운영되며, 각 시장은 별개의 비즈니스 기회입니다. 플랫폼의 지리를 이해하면 프록시를 보다 정확하게 설정하고 더 가치 있는 데이터를 얻을 수 있습니다.
| 사이트 버전 | 프록시 국가 | 브라우저 언어 | 시장 특징 |
|---|---|---|---|
| zalando.de | 독일 | de-DE | 최대 시장, 전체 품목 |
| zalando.fr | 프랑스 | fr-FR | 높은 평균 장바구니, 럭셔리 브랜드 |
| zalando.pl | 폴란드 | pl-PL | 빠르게 성장하는 시장, 가격 차이 |
| zalando.es | 스페인 | es-ES | 계절 할인, 지역 브랜드 |
| zalando.nl | 네덜란드 | nl-NL | 활발한 구매자, 높은 반품율 |
이것이 실제로 중요한 이유는 무엇일까요? 당신이 패션 브랜드의 바이어 또는 분석가라고 상상해 보세요. 경쟁자가 다양한 시장에서 제품 가격을 어떻게 책정하는지 이해해야 합니다. 폴란드에서 제품이 독일보다 훨씬 저렴한 경우(크로스보더 가격 차익) — 이는 여러 사이트 버전을 파싱하여만 발견할 수 있는 실제 비즈니스 기회입니다.
또한 Zalando는 국가에 따라 다양한 품목을 보여준다는 점을 고려하는 것이 중요합니다. 일부 브랜드는 특정 지역에서만 존재하며, 독점적인 콜라보레이션은 하나의 시장에서만 제공될 수 있습니다. 경쟁 환경을 완전히 분석하려면 모든 관련 사이트 버전을 파싱해야 합니다.
Zalando 파싱 시 일반적인 실수 및 피하는 방법
유럽 마켓플레이스와의 작업에서 수년간 쌓인 실수 목록이 있습니다. 거의 모든 초보자가 저지르는 실수들입니다. 같은 실수를 반복하지 않도록 자세히 살펴보겠습니다.
실수 1: 너무 높은 요청 빈도
가장 흔한 실수는 가능한 한 빨리 파싱하려고 하는 것입니다. 그 논리는 명확합니다: 빠를수록 좋습니다. 하지만 Zalando는 요청 빈도를 추적하며, 임계치를 초과하면 먼저 응답 속도를 늦추고(rate limiting), 이후 IP를 차단합니다.
해결책: 요청 사이에 2-8초의 랜덤한 지연을 추가하세요. 랜덤성이 중요합니다: 3초의 고정 지연은 지연이 없는 것만큼 의심스럽게 보입니다. 실제 사람은 메트로놈처럼 정확하게 클릭하지 않습니다.
실수 2: 모든 파싱에 하나의 IP 사용
주거용 IP라도 한 시간에 500개의 요청이 들어오면 차단됩니다. 실제 사용자는 60분 안에 500페이지를 탐색하지 않습니다.
해결책: 회전하는 프록시 풀을 사용하세요. 최적의 경우, 하나의 세션 동안 하나의 IP에서 20-30개의 요청을 초과하지 않고, 그 후 주소를 변경하세요. 100개 이상의 주거용 IP 풀을 사용하면 차단 없이 하루에 수천 페이지를 수집할 수 있습니다.
실수 3: robots.txt 및 사이트 구조 무시
Zalando는 봇에 대해 명시적으로 금지된 섹션을 포함하는 robots.txt 파일을 가지고 있습니다. 이러한 섹션을 파싱하는 것은 기술적으로 더 복잡할 뿐만 아니라 법적 문제의 위험을 증가시킵니다. 작업을 시작하기 전에 robots.txt를 검토하세요: https://www.zalando.de/robots.txt
실수 4: 오류 처리 없이 파싱
파서가 403, 429, 503 응답 코드를 처리하지 않으면 차단 후에도 계속 요청을 보내게 되어 상황이 악화됩니다. 올바른 논리는: 429를 받으면 → 60초 대기 → IP 변경 → 요청 반복. 403을 받으면 → 즉시 IP 변경.
실수 5: 구식 User-Agent 문자열 사용
2024년에 Chrome 89 User-Agent는 적신호입니다. 보호 시스템은 어떤 브라우저 버전이 현재인지 알고 있습니다. 최신 User-Agent 문자열을 사용하고 주기적으로 업데이트하세요. 5-10개의 다양한 User-Agent 문자열을 보유하고 IP 변경 시 함께 회전하는 것이 좋은 방법입니다.
실수 6: 피크 시간대에 파싱
저녁 시간(중앙 유럽 표준시 기준 18:00–22:00)에는 Zalando의 부하가 최대이며, 보호 시스템이 강화되고 안티봇 시스템의 발동 임계치가 낮아집니다. 대규모 파싱은 밤(02:00–06:00 CET)에 실행하세요 — 자원에 대한 경쟁이 적고 보호가 덜 공격적입니다.
체크리스트: Zalando를 위한 프록시 빠른 설정
Zalando 파싱을 시작하기 전에 이 체크리스트를 사용하세요. 각 항목이 중요하며, 그 중 하나라도 пропуск하면 차단 위험이 크게 증가합니다.
✅ Zalando를 위한 프록시 설정 체크리스트
프록시 선택:
- ☐ 주거용 또는 모바일 프록시 선택 (데이터 센터 프록시는 아님)
- ☐ 필요한 유럽 국가의 프록시 (사이트 버전과 일치)
- ☐ 최소 20-50 IP의 풀을 통해 회전
- ☐ HTTPS 프로토콜 (Cloudflare와의 호환성 때문에 SOCKS5는 피하는 것이 좋음)
요청 설정:
- ☐ 최신 User-Agent (Chrome 120+ 또는 Firefox 120+)
- ☐ Accept-Language는 프록시 국가와 일치
- ☐ Referer는 Zalando의 메인 페이지로 설정
- ☐ 요청 사이에 2-8초의 랜덤한 지연
- ☐ IP 변경과 함께 403, 429, 503 코드 처리
JavaScript 렌더링을 위한:
- ☐ 파서에서 브라우저 렌더링 모드가 활성화됨
- ☐ 동적 요소 로딩 대기 설정됨
- ☐ 속도를 높이기 위해 이미지 및 미디어 비활성화 (선택 사항)
테스트:
- ☐ ip-check 서비스로 프록시 확인 (필요한 국가를 보여주는지 확인)
- ☐ 대규모 수집 전에 5-10 페이지에 대한 테스트 요청 수행
- ☐ 수신 데이터의 정확성 확인 (가격, 이름, 사이즈)
Zalando에서 무엇을 파싱할 것인가: 실용적인 시나리오
파싱의 목적을 이해하면 도구를 올바르게 설정하는 데 도움이 됩니다. 다음은 가장 일반적인 비즈니스 시나리오입니다:
경쟁자의 가격 모니터링. Zalando 파트너 프로그램을 통해 판매하는 경우, 경쟁자가 유사한 품목의 가격을 어떻게 책정하는지 아는 것이 매우 중요합니다. 하루에 한 번 또는 몇 시간마다 가격을 파싱하면 변화에 신속하게 대응하고 경쟁력을 유지할 수 있습니다.
상품 및 트렌드 분석. 어떤 브랜드가 새로운 컬렉션을 추가하고 있나요? 어떤 카테고리가 가장 빠르게 성장하고 있나요? 신상품 및 베스트셀러를 파싱하면 바이어와 제품 관리자에게 귀중한 인사이트를 제공합니다.
할인 및 세일 추적. Zalando는 시즌 세일(End of Season Sale)을 진행하며, 이때 할인율이 70%에 달할 수 있습니다. 자동 모니터링을 통해 세일 시작 및 특정 품목의 가격 인하를 가장 먼저 감지할 수 있습니다.
가격 비교 사이트를 위한 데이터 수집. 의류 및 신발 가격 비교 서비스를 개발하는 경우, Zalando는 유럽 시장을 위한 필수 데이터 출처입니다.
결론
Zalando 파싱은 체계적으로 접근하면 충분히 해결 가능한 작업입니다. 이 기사에서의 주요 결론: Cloudflare로 인해 데이터 센터 프록시는 작동하지 않으며, 필요한 유럽 국가의 주거용 프록시가 대부분의 작업에 최적의 선택입니다. 모바일 프록시는 높은 차단 위험에도 최대의 신뢰성을 제공합니다. 프록시의 지리적 위치는 사이트 버전과 엄격히 일치해야 하며, 요청은 실제 사용자 행동을 모방해야 합니다: 랜덤한 지연, 최신 헤더, 올바른 브라우저 언어.
이러한 규칙을 준수하면 Zalando의 25개 유럽 시장에서 가격, 품목 및 할인에 대한 데이터를 안정적으로 수집할 수 있습니다 — 차단 및 데이터 손실 없이.
가격 모니터링 또는 Zalando의 제품 데이터 수집을 시작할 계획이라면, 필요한 유럽 국가에 대한 지리적 타겟팅을 갖춘 주거용 프록시로 시작하는 것을 권장합니다 — 이들은 이 작업에 대한 신뢰성, 속도 및 비용 간의 최적의 균형을 제공합니다.
```