Headless Browser Automation: Bot Detection의 한계와 실전 팁
agent-browser CLI로 브라우저 자동화하기, 봇 감지 우회의 현실
Hun Jang Feb 3, 2026
요약: Playwright 기반 CLI인 agent-browser로 headless 브라우저 자동화가 가능하지만, 일부 사이트(특히 한국 사이트)는 봇 감지가 빡빡해서 우회가 어렵다. curl은 되는데 브라우저는 막히는 이유와 실전 대응법을 정리한다.
왜 브라우저 자동화가 필요한가
- 정기 리포팅: GitHub Trending, 뉴스 사이트 캡처 → 매일 아침 Slack/Notion에 전송
- 폼 자동화: 로그인, 검색, 데이터 입력 자동 처리
- 스크린샷 기반 모니터링: 경쟁사 페이지, 가격 변동 추적
agent-browser 기본 사용법
Playwright 기반 Rust CLI로, 간단한 명령어로 브라우저를 제어한다:
봇 감지의 현실
같은 URL인데 curl은 되고, 브라우저는 막힌다? 그 이유:
- navigator.webdriver 플래그: headless 브라우저는 이 값이 true
- User-Agent 패턴: HeadlessChrome 같은 시그니처 탐지
- 브라우저 핑거프린팅: WebGL, Canvas, 폰트 렌더링 차이
- 행동 패턴: 마우스 움직임 없이 바로 클릭하는 비인간적 패턴
사이트별 대응 전략
잘 되는 사이트
- GitHub: 봇 친화적, API도 제공
- 대부분의 정적 사이트, 기술 블로그
- Product Hunt, Hacker News
까다로운 사이트
- Google 검색: CAPTCHA 빈번
- 한국 공공/예매 사이트: IP + 봇 감지 이중 차단
- 금융권 사이트: 보안 솔루션 필수
실전 팁
- 봇 감지 없는 사이트 우선 타겟팅: 자동화 가능한 사이트부터 시작
- API 우선: 브라우저 자동화보다 공식 API가 있으면 그것 사용
- 스크린샷 + 요약 패턴: 페이지 캡처 → AI 요약 → 리포트 자동화
- 한국 사이트는 포기하거나 수동 처리: 코레일, 은행 등은 직접 조작이 현실적
정리
agent-browser(Playwright) 같은 headless 브라우저 자동화는 강력하지만 만능이 아니다. 타겟 사이트의 봇 정책을 파악하고, 되는 곳에서 최대한 활용하는 전략이 현실적이다. 복잡한 우회보다는 API 활용, 허용된 사이트 집중이 장기적으로 안정적이다.