피드로 돌아가기
Dev.toBackend
원문 읽기
Playwright 기반 Browser-Control Agent를 통한 WAF 우회 및 구조적 데이터 추출 자동화
(Spanish) El navegador ya no es solo para humanos
AI 요약
Context
SPA 구조의 현대적 웹사이트는 초기 HTML이 비어있고 JavaScript를 통해 데이터를 동적으로 로드하는 특성을 가짐. 기존의 정적 Scraping 방식으로는 렌더링 후의 데이터 접근이 불가능하며, 내부 API 호출 시 WAF의 엄격한 Browser 검증과 짧은 세션 Token 만료 시간으로 인해 수동 요청 복제가 불가능한 한계가 존재함.
Technical Solution
- Chromium 기반 Playwright 도입을 통한 실제 Browser 환경 구현으로 WAF의 Browser 정당성 검증 통과
- 세션 Token 생성부터 데이터 추출까지의 과정을 단일 컨텍스트 내에서 연속적으로 처리하는 Pipeline 설계
- API 응답을 실시간으로 Intercept 하여 HTML 파싱 단계 없이 정제된 JSON 데이터를 직접 추출하는 로직 적용
- Cron 기반의 Recopilador Agent와 MCP Server 기반의 Query Agent를 분리하여 Write/Read 책임 분리 아키텍처 구축
- 추출된 데이터를 로컬 Database에 저장하여 외부 API 의존성을 제거하고 응답 속도를 최적화하는 구조 설계
실천 포인트
- WAF 및 Dynamic Token 제약이 있는 환경에서 단순 Request 시뮬레이션 대신 Headless Browser 기반의 Session Context 유지 전략 검토 - DOM 파싱 비용을 줄이기 위해 Network Traffic의 XHR/Fetch 응답을 직접 가로채는 Interception 기법 적용 - 데이터 수집(Collector)과 서비스 제공(Query) 계층을 분리하여 외부 사이트의 가용성 변화가 서비스에 미치는 영향 최소화