피드로 돌아가기
Dev.toBackend
원문 읽기
Hybrid 아키텍처를 통한 대역폭 70% 절감 및 고속 데이터 추출 구현
The Hybrid Vinted Scraping Architecture That Outperforms Pure Browser Crawls
AI 요약
Context
Pure Browser Crawling 방식의 높은 Proxy 비용과 메모리 오버헤드 및 Datadome의 공격적인 Rate Limit으로 인한 확장성 한계 발생. 모든 요청에 Headless Chromium을 사용하는 구조로 인한 느린 렌더링 속도와 세션 관리의 어려움 직면.
Technical Solution
- Session Initialization 단계에서 Playwright를 사용해 Browser Fingerprint 검증 및 Session Cookie 확보
- 데이터 추출 단계에서 렌더링 과정이 없는 Lightweight HTTP 요청 기반의 Internal JSON API 직접 쿼리 수행
- Pre-navigation Hook을 통한 Image, Media, Font 등 불필요한 Asset 로드 차단으로 Proxy 대역폭 최적화
- Browser URL의 쿼리 파라미터를 Internal API 규격에 맞게 변환하는 Translation Layer 설계
- Residential Proxy와 Session Refresh 로직을 결합한 IP 차단 방지 및 재인증 메커니즘 구축
Impact
- 불필요한 Asset 차단을 통한 Proxy Bandwidth 소비 약 70% 감소
- 분당 약 200개의 아이템 추출 속도 달성 및 단일 실행 시 최대 10,000개 데이터 추출 가능 확인
Key Takeaway
브라우저의 렌더링 성능 한계를 극복하기 위해 세션 획득은 Browser로, 데이터 추출은 API로 분리하는 하이브리드 전략의 효율성 입증
실천 포인트
- 웹 크롤링 설계 시 렌더링이 필수적인 인증/검증 단계와 단순 데이터 추출 단계를 분리했는지 검토 - Proxy 비용 최적화를 위해 리소스 타입별(Image, Font 등) Request Abort 전략 적용 여부 확인 - 퍼블릭 API 부재 시 내부 API 엔드포인트를 역공학하여 HTTP 요청으로 전환 가능한지 분석