피드로 돌아가기
Dev.toAI/ML
원문 읽기
Playwright와 LLM 결합을 통한 UI 변경에 강건한 JSON 데이터 파이프라인 구축
How to Scrape E-Commerce Sites for AI Agents Using Playwright and LLMs
AI 요약
Context
현대 이커머스 사이트의 CSS-in-JS 도입 및 A/B 테스트로 인한 HTML 구조의 빈번한 변경으로 기존 CSS Selector 기반 스크래핑의 유지보수 비용 급증. JavaScript 렌더링 기반의 동적 콘텐츠와 봇 탐지 시스템으로 인한 데이터 수집 병목 발생.
Technical Solution
- Playwright Stealth를 통한 Browser Fingerprinting 우회로 봇 탐지 회피 및 데이터 접근성 확보
- Rendering Layer와 Extraction Layer의 분리를 통한 렌더링 부하와 데이터 추출 로직의 독립적 운영
- LLM 입력 전 script, style, svg 태그를 제거하는 DOM Sanitization 과정으로 Token 소모 최적화 및 Latency 감소
- LLM 기반의 Semantic Mapping을 적용하여 정적인 Selector 없이 정의된 JSON Schema에 따른 결정적 데이터 추출
- Redis 기반의 Caching Layer 도입 및 TTL 설정을 통한 타겟 서버 부하 감소와 응답 속도 개선
- Token Bucket 알고리즘과 Jittered Backoff 적용으로 타겟 도메인별 요청 속도 제어 및 안정성 확보
실천 포인트
- Headless Browser 사용 시 navigator.webdriver 속성 등 Fingerprint 마스킹 처리 여부 확인 - LLM 전달 전 HTML 내 불필요한 태그 제거를 통한 Context Window 최적화 수행 - 데이터 일관성 확보를 위해 LLM 추출 결과에 대해 엄격한 JSON Schema 검증 단계 추가 - 타겟 서버의 부하 방지를 위한 도메인별 Rate Limit 및 지수 백오프 전략 구현