웹 데이터 추출(web-data extraction)은 웹 기반 서비스 개발에 필수적인 요소이지만, 복잡한 설정과 서버 의존성으로 인해 개발 부담이 컸습니다. 최근 'Fitter'라는 새로운 도구가 이러한 문제를 해결하며 등장했는데, 이 도구는 웹어셈블리(WebAssembly) 기술을 활용해 브라우저 내에서 직접 데이터 추출 작업을 수행할 수 있도록 지원합니다.
Fitter는 사용자가 JSON 형식의 설정 파일을 통해 추출할 데이터를 선언적으로 정의할 수 있게 합니다. HTML의 CSS 선택자(CSS selectors)나 XML의 XPath, JSON의 GJSON 등 다양한 파싱(parsing) 방식을 지원하며, PDF 파일에서도 데이터를 추출할 수 있습니다. 특히 주목할 점은 Go 언어로 작성된 Fitter 바이너리가 웹어셈블리로 컴파일되어 약 7MB 크기로 제공된다는 것입니다. 이는 초기 로딩에 시간이 걸릴 수 있지만, 일단 로드되면 브라우저 환경에서 독립적으로 작동하여 서버 자원 없이도 데이터 추출이 가능하다는 큰 장점을 가집니다. 또한, 호스트별 요청 제한(host rate limit)이나 최대 동시 요청 수 등 고급 제어 기능도 포함하고 있어 안정적인 데이터 수집을 돕습니다.
이러한 Fitter의 등장은 웹 데이터 추출 방식에 새로운 패러다임을 제시합니다. 기존에는 서버에서 크롤링(crawling) 및 파싱(parsing)을 처리하거나, 복잡한 클라이언트 측 스크립트를 작성해야 했지만, Fitter를 통해 개발자는 브라우저 환경에서 직접 데이터 추출 로직을 테스트하고 실행할 수 있게 됩니다. 이는 개발 워크플로우를 단순화하고, 서버 인프라 비용을 절감하며, 사용자 개인 정보 보호 측면에서도 유리할 수 있습니다. 특히 1인 개발자나 소규모 팀에게는 웹 데이터 활용의 문턱을 크게 낮춰주는 중요한 도구가 될 것으로 기대됩니다.