피드로 돌아가기
BDO Scraper: Rejestr Odpadów (674 000+)
Dev.toDev.to
Backend

React SPA 제약을 극복한 Headless Browser 기반 BDO 데이터 추출 자동화

BDO Scraper: Rejestr Odpadów (674 000+)

Peter2026년 4월 14일5intermediate

Context

공공 폐기물 등록 시스템인 BDO 포털이 Public API 없이 React SPA 구조로 설계된 환경. Session Token 기반 인증과 CSRF 보호, Dynamic Rendering으로 인해 단순 HTTP Request를 통한 데이터 수집이 불가능한 제약 상황.

Technical Solution

  • Headless Browser 도입을 통한 JavaScript 런타임 환경 구축 및 DOM 렌더링 데이터 추출
  • React SPA의 세션 관리 로직을 모사하여 Session Token 및 CSRF 보호 메커니즘 우회
  • 동적 쿼리 패턴 변화에 대응하는 DOM 기반 데이터 파싱 및 구조화된 JSON 변환 로직 구현
  • NIP, REGON 등 고유 식별자를 활용한 검색 쿼리 최적화로 데이터 정밀도 확보
  • Apify Actor 기반의 서버리스 실행 환경을 구축하여 확장 가능한 스크래핑 파이프라인 설계

Impact

  • 분기별 수동 감사 소요 시간 2일에서 30분 미만으로 단축
  • 개체당 약 $0.03의 비용으로 674,000개 이상의 대규모 엔티티 데이터 접근 가능

Key Takeaway

비정형/폐쇄적 UI 기반 시스템에서 API 부재 시, Headless Browser를 통한 DOM 추출 레이어를 구축함으로써 레거시 시스템의 데이터 가용성을 확보하는 전략적 접근법


- API 미제공 SPA 대상의 자동화 필요 시 Headless Browser 도입 검토 - 세션 및 CSRF 토큰의 라이프사이클을 분석하여 인증 유지 전략 수립 - 검색 결과의 정밀도를 높이기 위해 가변적인 이름 대신 NIP와 같은 고유 식별자 기반 쿼리 설계

원문 읽기