지도에서 회사 데이터를 수집하는 리드 생성 에이전시와 마케팅 담당자들은 언젠가는 같은 질문에 부딪히게 됩니다: 10,000개의 연락처를 수집하는 데 실제로 얼마나 많은 트래픽이 필요한지, 그리고 왜 계정과 IP 주소가 세 번째 천에서 차단되기 시작하는지. 단계별로 트래픽 계산을 분석하고 Google Maps, 2GIS 및 Yandex.Maps를 비교하며, 이러한 양을 차단 없이 견딜 수 있는 프록시를 보여줍니다.
지도에서의 리드 생성이란 무엇이며 트래픽을 계산하는 이유
지도에서의 리드 생성은 Google Maps, 2GIS 또는 Yandex.Maps를 통해 회사의 연락처 데이터(이름, 전화번호, 웹사이트, 주소, 평점, 업종)를 수집하여 후속 콜드 콜, 이메일 마케팅 또는 타겟 광고를 위한 것입니다. 이러한 방법은 B2B 서비스를 판매하는 에이전시들, 즉 웹 스튜디오, CRM 제공업체, 마케팅 계약자들에게 특히 인기가 있습니다. 그들은 "카잔의 치과", "노보시비르스크의 자동차 서비스", "예카테린부르크의 미용실"과 같은 분야와 도시의 데이터베이스가 필요합니다.
트래픽 계산은 세 가지 이유로 중요합니다. 첫째, 전송된 데이터의 양에 따라 얼마나 많은 프록시 트래픽을 소모하고 여러 도시로 확장할 때 비용이 얼마나 될지가 결정됩니다. 둘째, 지도는 IP뿐만 아니라 요청 수에 대한 비정상적인 활동을 기록하며, 10,000개의 카드 수집이 생성하는 요청 수를 이해하지 못하면 차단 위험을 과소평가하기 쉽습니다. 셋째, 데이터의 정확한 양을 알면 HTML 페이지 파싱, 내부 API 사용 또는 준비된 서비스 중에서 선택하기가 더 쉬워집니다. 각 옵션은 트래픽 측면에서 크게 다릅니다.
실제로 10,000개 회사는 추상적인 숫자가 아닙니다. 이 양은 예를 들어, 러시아의 15-20개 대도시에서 "기계 수리" 분야의 모든 법인의 전체 데이터베이스에 해당하거나, 모스크바나 상트페테르부르크와 같은 대도시의 모든 외식업체에 해당합니다. 이는 리드를 패키지로 판매하는 에이전시에게 현실적인 과제입니다.
회사 카드 하나의 무게는 얼마인가
회사 카드 하나의 무게는 무엇을 수집하느냐와 어떤 방식으로 수집하느냐에 따라 다릅니다. 검색 결과 목록(이름, 간단한 주소, 평점)만 파싱하면 데이터는 컴팩트하게 전송됩니다. 일반적으로 이는 3-8KB의 JSON 응답으로, 전체 목록의 한 회사에 해당합니다. 그러나 상세 카드가 필요하다면 전화번호, 웹사이트, 운영 시간, 사진, 리뷰 등을 포함해야 하며, 별도의 페이지를 열거나 추가 요청을 해야 하므로 무게가 80-250KB로 증가합니다.
아래는 CIS에서 리드 생성 에이전시가 사용하는 세 가지 주요 지도에 대한 비교입니다:
| 지도 | 목록에서 카드의 무게 | 상세 카드의 무게 | 보호 기능 |
|---|---|---|---|
| Google Maps | 5-8KB | 150-250KB | 빈번한 요청에 대한 엄격한 비율 제한 및 CAPTCHA |
| 2GIS | 3-6KB | 80-150KB | API 카탈로그에 대한 요청 빈도로 차단 |
| Yandex.Maps | 4-7KB | 100-200KB | 행동 분석 및 프록시 블랙리스트가 있는 안티봇 시스템 |
중요한 점: 목록의 무게는 카드 전체가 아닙니다. 회사의 전화번호와 웹사이트를 얻으려면 대부분의 경우 상세 페이지에 대한 별도의 요청이 필요합니다. 이는 판매를 위한 완전한 연락처를 수집할 경우 실제 트래픽을 두 배 또는 세 배로 증가시킵니다.
10,000개 회사에 대한 트래픽 계산 단계별로
현실적인 시나리오를 가정해 보겠습니다: 에이전시는 Google Maps에서 10,000개 회사의 전체 카드를 수집합니다(이름, 전화번호, 웹사이트, 주소, 평점, 카테고리).
1단계. 검색 및 목록 작성. Google Maps는 한 페이지에 약 20개의 결과를 제공합니다. 10,000개의 항목을 얻으려면 약 500페이지의 결과를 처리해야 합니다. 각 페이지는 서비스 요청, 지도 로딩 및 스크립트를 고려할 때 600-900KB의 무게가 나갑니다. 총합: 500 × 750KB ≈ 375MB는 검색 단계에서만 발생합니다.
2단계. 상세 카드. 10,000개 회사 각각에 대해 전화번호, 웹사이트 및 사진이 포함된 별도의 요청이 필요합니다. 카드당 평균 무게가 180KB인 경우: 10,000 × 180KB ≈ 1.8GB.
3단계. 재요청 및 재시도. 실제 조건에서 파싱할 때 10-20%의 요청이 비율 제한, CAPTCHA 또는 레이아웃 변경으로 인해 첫 번째 시도에서 실패합니다. 이 요청을 반복해야 합니다. 볼륨에 15%를 추가합니다: (375MB + 1.8GB) × 1.15 ≈ 2.5GB.
최종 숫자는 Google Maps에서 10,000개 회사를 수집하는 데 약 2.5GB의 트래픽입니다. 전화번호와 웹사이트 없이 목록만 수집하면 트래픽이 450-500MB로 줄어들지만, 그런 데이터베이스는 판매에 적합하지 않습니다. 전화번호 없이는 리드가 전화로 전환되지 않습니다.
2GIS 및 Yandex.Maps의 경우 계산은 유사하지만, API의 더 컴팩트한 형식 덕분에 일반적으로 20-30% 더 낮은 양을 예상할 수 있습니다. 동일한 10,000개 카드에 대해 1.7-2.2GB를 목표로 하세요.
왜 지도에서 대량 데이터 수집을 차단하는가
지도는 플랫폼 자체의 상업적 자산이며, 대량 자동 데이터 수집은 그들의 비즈니스 모델(카드에서 광고 판매, 파트너를 위한 API 접근)과 직접적으로 모순됩니다. 따라서 Google Maps, 2GIS 및 Yandex.Maps는 비정상적인 행동에 대해 동일하게 공격적으로 반응합니다.
차단의 주요 트리거: 하나의 IP에서 너무 높은 요청 빈도(2-3초당 1회 초과), 변동성이 없는 동일한 User-Agent 및 헤더, 쿠키 및 세션 데이터의 부재, 일반 브라우저가 항상 로드하는 관련 리소스(이미지, 스크립트) 없이 요청이 이루어지는 경우입니다. 한계에 도달하면 서비스는 CAPTCHA를 표시하거나 IP를 15-60분 동안 일시적으로 차단하거나 반복적인 위반 시 IP를 영구적으로 차단합니다.
계산된 2.5GB와 10,000개 이상의 요청을 하나의 "깨끗한" IP에서 수행할 경우, 첫 번째 천 카드에서 차단될 확률은 100%에 가까워집니다. 따라서 지도에서의 리드 생성에 대한 모든 진지한 프로젝트는 IP 주소의 회전을 중심으로 구축됩니다. 이를 통해 트래픽 계산이 의미를 잃게 되며, 계획된 양을 물리적으로 수집할 수 없게 됩니다.
지도 파싱을 위한 레지던트, 모바일 및 데이터 센터 프록시
프록시 유형의 선택은 차단 전에 얼마나 많은 요청을 할 수 있는지와 재시도에 소모해야 할 트래픽의 비율에 직접적인 영향을 미칩니다. 지도에서 데이터 수집에 있어 IP의 평판은 매우 중요합니다. 지도는 데이터 센터 범위에서 오는 자동 파싱의 주요 원인으로 인해 훨씬 더 엄격하게 차단합니다.
| 프록시 유형 | 지도에서의 신뢰 수준 | 언제 사용해야 하는가 |
|---|---|---|
| 레지던트 프록시 | 높음 — 실제 사용자 IP | 도시별 회전을 통한 5,000-50,000 카드 수집의 주요 도구 |
| 모바일 프록시 | 매우 높음 — 통신사 공용 IP | 엄격한 안티봇 보호가 있는 분야별 데이터 수집 (Yandex.Maps) |
| 데이터 센터 프록시 | 낮음-중간 — 블랙리스트에 자주 올라감 | 초기 테스트, 스크립트 테스트를 위한 소규모 실행 |
실제로 계산된 10,000개 회사에 대해 최적의 조합은 레지던트 프록시와 도시의 서브넷 회전입니다. 이를 통해 카드의 목표 청중과 동일한 지역에서 IP를 얻고 CAPTCHA 및 재요청의 비율을 줄일 수 있습니다. 데이터 센터 프록시는 50-100개의 카드에서 스크립트 테스트 단계에서만 사용해야 하며, 레지던트 트래픽 예산을 소모하지 않도록 해야 합니다.
데이터 수집 설정: 도구 및 단계별 계획
회사의 데이터베이스를 지도에서 수집하기 위해 에이전시는 일반적으로 처음부터 파서를 작성하기보다는 준비된 no-code 및 low-code 도구를 사용합니다. 인기 있는 솔루션으로는 A-Parser(코드 작성 없이 Google Maps, 2GIS, Yandex.Maps에 대한 템플릿을 유연하게 설정), Octoparse(수집 스크립트의 시각적 빌더) 및 ZennoPoster(프록시 및 안티디텍트 프로필을 지원하는 자동화 템플릿)가 있습니다. 소규모 데이터 수집에는 카드 파싱을 위한 클라우드 서비스가 적합합니다.
10,000개 회사 수집을 시작하는 단계별 계획은 다음과 같습니다:
- 리드가 필요한 도시 및 분야 목록을 정의합니다. 이는 검색 요청 수를 결정하고 위의 섹션에서 제시한 공식을 통해 트래픽을 보다 정확하게 예측할 수 있게 합니다.
- 프록시 목록을 설정하고 IP를 5-10회 요청마다 회전하도록 파서에서 설정합니다. 대부분의 도구는 로그인:비밀번호@호스트:포트 형식의 프록시 목록을 지원합니다.
- 요청 간의 무작위 지연을 3-7초로 설정하고 User-Agent 회전을 활성화합니다. 이는 고정 간격에 비해 CAPTCHA 비율을 30-40% 줄입니다.
- 100-200개의 카드에서 테스트 실행을 시작하고 실제 트래픽 소비를 기록합니다. 계산된 값과 비교하여 전체 볼륨에 대한 예측을 조정합니다.
- 작업을 1,000-1,500개의 배치로 나누어 10,000개의 카드 수집을 확장합니다. 이는 오류를 제어하고 실패 시 재시작을 쉽게 합니다.
- 결과를 CSV로 내보내거나 CRM에 직접 내보내며 전화번호와 웹사이트를 기준으로 중복을 제거합니다. 지도에서는 종종 네트워크 조직 및 지사의 중복으로 인해 중복이 발생합니다.
수집 작업이 정기적으로 반복되는 경우(예: 매월 특정 분야의 데이터베이스 업데이트), 레지던트 IP의 지속적인 풀을 사용하여 자동화된 예약 실행을 설정하는 것이 좋습니다. 이는 수동으로 재시작하는 시간을 절약하고 시간에 따라 부하를 고르게 분산시켜 차단 위험을 줄입니다.
리드를 잃지 않고 트래픽 소비를 줄이는 방법
계산된 2.5GB의 트래픽을 10,000개 회사에 대해 데이터 품질을 손상시키지 않고 30-40% 줄일 수 있는 몇 가지 실용적인 방법이 있습니다.
첫째, 요청 수준에서 이미지 로드를 비활성화합니다. 업소의 사진은 상세 카드의 무게의 절반까지 차지할 수 있지만, 판매에는 필요하지 않습니다. 둘째, 전체 페이지 렌더링 대신 지도 내부 API에 직접 요청을 사용합니다. 이는 유용한 데이터가 없는 불필요한 스크립트, 스타일 및 글꼴을 제거합니다. 셋째, 상세 카드 파싱 전에 중복을 필터링합니다. 동일한 도시의 다른 지역에서 이미 회사가 나타났다면 해당 페이지에 대한 재요청을 하지 마십시오. 목록 단계에서 이름과 주소를 비교합니다. 넷째, 모든 도시에서 경량 목록을 먼저 수집하고 평점이나 카테고리 필터를 통과한 회사에 대해서만 상세 카드를 요청합니다. 이는 10,000개 전체가 아니라 상위 30%의 관련성만 필요한 경우 특히 유용합니다.
이러한 방법은 트래픽 양뿐만 아니라 지도 서버에 대한 요청 수를 줄여 차단 위험도 감소시킵니다. 에이전시에게는 동일한 요금제에서 프록시 트래픽 소비가 줄어들고 동일한 예산으로 더 많은 도시를 수집할 수 있는 기회를 의미합니다.
지도에서 리드를 수집할 때의 일반적인 실수
첫 번째 실수는 IP 회전 없이 하나의 정적 IP에서 수집을 시작하는 것입니다. 요청 속도가 낮더라도 지도는 200-300개의 연속 요청 후 비정상적인 활동을 기록하며, 이후 IP 변경 없이 수집이 불가능해집니다.
두 번째 실수는 프록시와 목표 도시의 지역 일치를 무시하는 것입니다. 카잔의 회사를 다른 국가의 IP로 수집하면 지도는 관련 없는 결과를 더 자주 보여주거나 요청을 의심스럽게 차단합니다.
세 번째 실수는 시작 전에 트래픽 계산을 하지 않는 것입니다. 팀은 종종 "눈대중"으로 수집을 시작하고 작업 중간에 프록시 트래픽 한도에 부딪혀 이미 수집한 데이터를 세션 중단으로 잃게 됩니다.
네 번째 실수는 실시간으로 중복 제거 없이 수집하는 것입니다. 여러 겹치는 요청(예: 동일한 지역의 "카페"와 "레스토랑")으로 10,000개 항목을 파싱할 때 중복이 데이터베이스의 15-25%를 차지할 수 있으며, 이는 계산된 트래픽과 실제 비용을 인위적으로 증가시킵니다.
다섯 번째 실수는 세션의 모든 요청에 대해 동일한 User-Agent 및 헤더를 사용하는 것입니다. 지도에서의 안티봇 시스템은 IP뿐만 아니라 브라우저의 디지털 지문 일관성도 분석하므로, 대량의 요청에 대해 프록시 회전과 안티디텍트 브라우저를 결합하고 IP와 함께 지문을 변경하는 것이 좋습니다.
결론
지도에서 10,000개 회사를 수집하는 것은 트래픽 측면에서 예측 가능한 작업입니다. Google Maps에서 상세 카드를 파싱할 때 소비되는 트래픽은 재요청을 고려하여 약 2.5GB이며, 2GIS 및 Yandex.Maps의 경우 이 수치는 20-30% 낮습니다. 이 숫자를 미리 알면 프록시 트래픽 예산을 정확하게 계획하고 수집이 중간에 한도 초과로 중단되는 상황을 피할 수 있습니다.
성공적인 수집의 주요 요소는 트래픽 절약이 아니라 적절한 프록시 선택입니다. 하루에 수천 개의 카드를 수집하는 경우, 레지던트 프록시를 도시별 회전과 함께 사용하는 것을 권장합니다. 이는 CAPTCHA 및 재요청 비율을 줄여 15-20%의 트래픽을 절약합니다. 특히 안티봇 보호가 엄격한 분야에서 수집이 이루어질 경우, 기본 풀에 모바일 IP를 추가하는 것을 고려해야 합니다. 이는 최소한의 비용 증가로 세션의 안정성을 높입니다.