피드로 돌아가기
Dev.toBackend
원문 읽기
API 제약을 극복한 Google Maps 데이터 추출 및 웹 크롤링 기반 연락처 Enrichment 설계
How to Scrape Google Maps for Local Business Leads (with Emails) - No API Key
AI 요약
Context
Google Places API의 Rate-limit 및 비용 발생 문제와 이메일 정보 제공 부재로 인한 Lead Generation의 한계 직면. 단순 API 호출만으로는 비즈니스 컨택 포인트 확보라는 실질적 목표 달성 불가능.
Technical Solution
- API Key 없이 Google Maps의 Public Data를 직접 스크래핑하여 기본 비즈니스 정보 및 좌표 획득
- 확보한 Website URL을 기반으로 개별 사이트를 재크롤링하는 Website Enrichment 파이프라인 구축
- 도메인 일치 여부를 검증하는 relatedEmailsOnly 필터링 로직을 통한 Noise 데이터 제거 및 데이터 순도 향상
- 단일 Viewport의 결과 수 제한을 해결하기 위해 지역을 하위 구역(Sub-localities)으로 세분화하여 검색 범위를 확장하는 전략 채택
- Place ID 기반의 Deduplication 로직을 적용하여 지역 확장 검색 시 발생하는 중복 데이터 원천 차단
- REST API 기반의 Actor 구조 설계를 통해 Python 등 외부 스크립트와의 연동 및 데이터 스트리밍 가능 구조 구현
실천 포인트
- API가 제공하지 않는 데이터 필드가 필요할 경우, API 결과물을 Seed 데이터로 활용한 2차 크롤링 파이프라인 검토 - 대량 데이터 수집 시 단일 쿼리 한계를 극복하기 위해 검색 공간을 지리적/논리적으로 세분화하는 전략 적용 - 외부 수집 데이터의 신뢰성 확보를 위해 도메인 기반 검증 로직 및 고유 ID 기반의 중복 제거 프로세스 필수 구현