피드로 돌아가기
Hacker NewsBackend
원문 읽기
241개 포털의 파편화된 스키마와 WAF를 극복한 2.6M 데이터 수집 체계 구축
Scraping 241 UK council planning portals – 2.6M decisions so far
AI 요약
Context
영국 내 400개 이상의 지방 의회 포털이 각기 다른 ASP.NET 레거시 시스템과 상이한 데이터 스키마를 사용함에 따른 수집 난이도 상승. TLS Fingerprinting 및 AWS WAF 기반의 요청 차단 정책으로 인한 데이터 접근 제약 발생.
Technical Solution
- 요청 특성에 따른 Multi-Scraper 전략을 채택하여 수집 효율 최적화
- 단순 HTTP 요청이 가능한 대상에 requests 기반 Scraper 적용
- 브라우저 렌더링이 필수적인 동적 페이지 및 JS 챌린지 해결을 위한 Playwright 도입
- 서버측 TLS Fingerprinting 탐지를 우회하기 위한 curl_cffi 라이브러리 활용
- AWS WAF의 JS 챌린지 통과 후 Session Cookie를 재사용하여 인증 오버헤드 감소
- IP 기반 Rate Limit 대응을 위한 요청 주기 조절 및 세션 유지 전략 설계
Impact
- 영국 241개 의회 포털에서 총 2.6M건의 결정 데이터 수집 완료
- 119개 의회 대상 Home Extension 신청 건의 법정 처리 기한(8주) 준수율 분석
- 2019년 27.9%에서 2025년 36.5%로 증가한 기한 초과율 정량적 식별
Key Takeaway
표준화되지 않은 다수의 엔드포인트를 대상으로 할 때, 단일 도구가 아닌 타겟의 방어 기제(TLS, WAF, JS)에 최적화된 계층적 수집 전략 수립의 중요성.
실천 포인트
- 대상 서버의 TLS Fingerprinting 여부를 확인하여 curl_cffi 등 저수준 라이브러리 검토 - WAF 챌린지 발생 시 Playwright를 통한 초기 인증 후 Cookie 세션 재사용 구조 설계 - 대상 시스템의 Rate Limit 임계치 파악을 위한 사전 프로빙 및 지수 백오프 적용 - 파편화된 스키마 통합을 위한 데이터 정규화 레이어 설계