웹사이트에서 데이터를 긁어오는 스크래핑 작업을 하다 보면 브라우저가 차지하는 무거운 메모리 때문에 서버가 멈추거나 속도가 느려져 답답했던 경험이 있을 것이다. 최근 개발자들 사이에서 이런 문제를 해결하기 위해 등장한 Obscura(웹 스크래핑과 AI 에이전트 자동화에 특화된 헤드리스 브라우저 엔진)가 주목받고 있다. 헤드리스 브라우저란 화면을 직접 띄우지 않고 내부 엔진만 구동해 웹페이지를 읽어오는 도구를 말한다.

Obscura의 성능과 기술적 사양

Obscura는 V8(구글이 개발한 자바스크립트 실행 엔진)을 내장해 실제 자바스크립트를 실행하며, CDP(크롬 개발자 도구와 브라우저가 통신하는 표준 규격)를 구현해 기존의 Puppeteer(크롬을 제어하는 자동화 도구)나 Playwright(다양한 브라우저를 제어하는 자동화 도구) 코드를 그대로 재사용할 수 있다. 성능 면에서 헤드리스 크롬과 비교했을 때 메모리 점유율은 30MB 수준으로, 200MB를 훌쩍 넘기는 크롬 대비 7배 가까이 가볍다. 설치 파일 크기 또한 70MB로 크롬의 300MB보다 훨씬 작으며, 페이지 로드 속도는 85ms로 일반적인 크롬의 500ms보다 5배 이상 빠르다. 대량의 데이터를 수집할 때 이 차이는 전체 작업 시간을 5~10배까지 단축하는 결과로 이어진다. 특히 크롬이나 Node.js(자바스크립트 실행 환경) 같은 외부 의존성 없이 단일 바이너리 파일로 배포되어 설치가 간편하다.

기존 도구와의 차이점과 스텔스 모드

예전에는 웹사이트의 차단 시스템을 피하기 위해 복잡한 우회 설정을 직접 구현해야 했다. 이제는 Obscura에 내장된 --stealth(스텔스 모드) 옵션을 사용하면 된다. 이 기능은 브라우저가 자동화 도구임을 알리는 navigator.webdriver 값을 숨기고, 네이티브 함수를 위장해 사람이 접속한 것처럼 보이게 한다. 또한 GPU, 캔버스, 오디오 등 접속 기기의 고유 식별값인 핑거프린트를 세션마다 무작위로 변경한다. 3,520개 도메인의 광고나 분석 도구, 텔레메트리 트래커를 자동으로 차단해 불필요한 데이터 로딩을 막고 렌더링 속도를 높이는 점도 기존 도구와 차별화되는 지점이다. 사용법 또한 직관적이다. CLI(명령줄 인터페이스)에서 다음과 같이 명령어를 입력해 즉시 활용할 수 있다.

bash
obscura fetch [URL] # 단일 페이지 렌더링
obscura serve # CDP WebSocket 서버 기동
obscura scrape url1 url2 --concurrency 25 # 병렬 스크래핑
obscura --eval "document.title" # 자바스크립트 실행 결과 추출

폼 제출이나 로그인 시 필요한 POST 처리, 302 리다이렉트, 쿠키 유지 등도 자동으로 수행되어 인증 흐름을 직접 코딩할 필요가 없다. DOM(문서 객체 모델)을 마크다운으로 변환하는 기능도 포함되어 있어 AI 에이전트가 데이터를 읽기에도 최적화된 환경을 제공한다. 상세한 기술 사양과 오픈소스 코드는 공식 저장소에서 확인할 수 있다.

개발자가 바로 체감하는 변화는 복잡한 설정 없이도 대규모 크롤링 환경을 즉시 구축할 수 있다는 점이다. Apache 2.0 라이선스로 배포되는 이 도구는 웹 자동화의 효율을 한 단계 끌어올릴 것이다.