피드로 돌아가기
Dev.toBackend
원문 읽기
playpanda가 Zig로 400kb 이하의 멀티티어 웹 페치 도구를 개발해 로그인 인증이 필요한 웹사이트 콘텐츠 크롤링을 AI 에이전트에서 가능하게 함
Your AI agent can't fetch behind logins. I built a <400kb fix in Zig.
AI 요약
Context
Claude Code 등 AI 코딩 에이전트는 웹페이지 페칭(WebFetch) 기능을 보유하고 있으나, 인증이 필요한 페이지(Medium, Facebook, Substack, Cloudflare 보호 사이트)에서는 로그인 페이지나 CAPTCHA에만 접근하게 되어 정확한 콘텐츠 수집이 불가능했다.
Technical Solution
- HTTP 페칭(약 200ms)을 기본값으로 시작하되 실패 시 자동으로 상위 티어로 에스컬레이션하는 3단계 페칭 전략 구현: HTTP → JavaScript 렌더링(약 1.5초) → 봇 탐지 우회 기능이 있는 실제 브라우저(약 6초)
- 쿠키 기반 로그인 세션 관리: 사용자가 한 번 로그인하면 이후 모든 페칭에서 쿠키를 자동으로 재사용
- Zig 언어를 선택해 단일 바이너리로 400kb 이하의 경량 도구 개발
- 마크다운 기반 출력으로 네비게이션, 쿠키 배너, 광고, CDN URL 등 불필요한 콘텐츠를 제거한 순수 콘텐츠만 추출
- 쉘 명령어 기반 인터페이스 제공으로 Claude Code, 터미널, 스크립트 등 모든 환경에서 사용 가능하도록 설계
Impact
빠른 경우 200ms, 브라우저 렌더링 필요 시 1.5초, 봇 탐지 우회 필요 시 6초 내에 인증된 페이지 콘텐츠 취득 가능.
Key Takeaway
멀티티어 폴백 아키텍처를 통해 다양한 웹사이트 특성에 자동으로 대응하도록 설계하면, 클라이언트는 선택 없이 동일한 인터페이스로 복잡한 크롤링 시나리오를 처리할 수 있다.
실천 포인트
AI 에이전트나 자동화 스크립트에서 동적 콘텐츠 기반 웹사이트를 크롤링해야 할 때, 단순 HTTP 페칭 대신 JavaScript 렌더링과 봇 탐지 우회를 자동으로 시도하는 계층화된 페칭 전략을 도입하면 인증된 페이지 접근 성공률을 크게 높일 수 있다.