피드로 돌아가기
Hacker NewsHacker News
Backend

241개 포털의 파편화된 스키마와 WAF를 극복한 2.6M 데이터 수집 체계 구축

Scraping 241 UK council planning portals – 2.6M decisions so far

2026년 4월 28일2intermediate

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 임계치 파악을 위한 사전 프로빙 및 지수 백오프 적용 - 파편화된 스키마 통합을 위한 데이터 정규화 레이어 설계

원문 읽기