Claude Code에 웹 크롤링 추가하기: 에이전트를 위한 전체 페이지 접근

웹 검색은 스니펫을 반환하고, 웹 크롤링은 전체 페이지를 반환합니다. 단 하나의 CLI로 Claude Code에 리서치, 경쟁사 분석, 콘텐츠 추출을 위한 전체 웹 접근 권한을 주는 방법을 소개합니다.

by AnyCap

Claude Code에게 경쟁사 가격 페이지를 조사하라고 요청한다고 해봅시다. Claude Code는 웹을 검색한 뒤 다음과 같은 스니펫만 돌려줍니다. “월 29달러부터 시작.” 이것만으로는 부족합니다. 전체 가격표, 기능 비교, 엔터프라이즈 요금제, 즉 실제 페이지 내용이 필요합니다.

웹 검색은 요약을 제공합니다. 웹 크롤링은 페이지 전체를 제공합니다.

이 글에서는 Claude Code에 웹 크롤링을 추가하는 방법을 소개합니다. 그러면 에이전트가 전체 웹페이지를 읽고, 구조화된 데이터를 추출하고, 그 리서치를 워크플로에 바로 반영할 수 있습니다.


웹 검색 vs 웹 크롤: 무엇이 다른가?

둘은 관련은 있지만 역할이 다릅니다.

웹 검색 웹 크롤
반환 결과 스니펫, 링크, 인용 깔끔한 마크다운 형식의 전체 페이지 내용
적합한 용도 빠른 답변, 탐색, 사실 확인 심층 리서치, 콘텐츠 추출, 경쟁사 분석
속도 몇 초 몇 초에서 1분 정도(전체 페이지 가져오기)
데이터 깊이 표면 수준 완전함 — 모든 제목, 문단, 표
사용 사례 “X의 가격은 얼마인가요?” “가격 페이지 전체를 추출해서 우리 가격과 비교해줘”

에이전트에는 둘 다 필요합니다. 검색으로 올바른 페이지를 찾고, 크롤로 제대로 읽어야 합니다.


Claude Code에 웹 크롤이 필요한 이유

Claude Code는 코드베이스를 추론하는 데 강합니다. 함수 리팩터링, 테스트 작성, 여러 파일에 걸친 디버깅이 가능합니다. 하지만 경쟁사 API 문서, 라이브러리 변경 로그, 제품 기능 목록 같은 것을 조사해야 할 때는 한계에 부딪힙니다.

웹 검색은 도움이 되지만 스니펫만으로는 부족합니다. 가격 페이지에는 12개 요금제가 있을 수 있고, 문서 페이지에는 40개 섹션이 있을 수 있으며, 변경 로그는 3년에 걸친 릴리스를 담고 있을 수 있습니다. 150자짜리 스니펫은 한 가지만 알려줍니다. 전체 페이지는 모든 것을 알려줍니다.

웹 크롤은 에이전트에게 완전한 페이지를 제공합니다. 그러면 에이전트는 다음을 할 수 있습니다.

  • 구조화된 데이터 추출(요금제, 기능 목록, API 엔드포인트)
  • 경쟁사 상품을 항목별로 비교
  • 문서를 코드 생성에 반영(“문서에 설명된 대로 인증을 정확히 구현해줘”)
  • 시간에 따른 변경 사항 모니터링(같은 페이지를 매주 크롤하고 결과 비교)

방법 1: 수동 웹 스크래핑(취약한 방식)

Claude Code가 직접 스크래핑 서비스를 호출하도록 설정할 수 있습니다. 공급자를 하나 고르고(Firecrawl, Jina, ScrapingBee), 가입한 뒤 API 키를 받아 에이전트에 연결하면 됩니다.

수동 방식의 흐름은 다음과 같습니다.

  1. 스크래핑 서비스에 가입한다
  2. API 키를 받는다
  3. Claude Code가 호출할 수 있는 셸 스크립트나 MCP 구성을 작성한다
  4. 레이트 리밋, 재시도, 실패한 가져오기를 처리한다
  5. 응답을 파싱해서 에이전트 컨텍스트에 다시 넣는다

이 방식은 가끔 쓰기에는 괜찮습니다. 하지만 규모가 커지면 문제가 생깁니다. 웹사이트마다 차단하는 스크래퍼가 다르고, 레이트 리밋은 공급자마다 다르며, 통합 유지보수에 빼앗기는 시간이 개발에 쓰고 싶던 시간입니다.


방법 2: 크롤링용 MCP 서버

웹 크롤링용 MCP 서버는 스크래핑 로직을 재사용 가능한 통합으로 묶어줍니다. Firecrawl의 MCP 서버가 가장 흔합니다. Claude Code가 이를 호출하면 어떤 URL이든 깔끔한 마크다운이 반환됩니다.

수동 API 연결보다 설정은 가볍지만, 여전히 관리해야 할 것이 있습니다.

  • 기능마다 별도의 MCP 서버 필요(크롤링과 검색 분리)
  • 공급자별 레이트 리밋과 인증
  • 스크래핑 공급자를 바꿀 때 생기는 형식 불일치

방법 3: 검색 + 크롤을 위한 하나의 CLI(AnyCap 방식)

이 방식은 검색과 크롤링을 하나의 명령 체계로 묶습니다. 에이전트는 페이지를 찾기 위해 검색하고, 이후 완전히 읽기 위해 크롤합니다. 모두 같은 CLI로 처리됩니다.

# 1단계: 관련 페이지 검색
anycap search --prompt "competitor pricing pages SaaS 2026" --citations

# 2단계: 가장 관련성 높은 결과를 전체 내용으로 크롤
anycap crawl --url "https://competitor.com/pricing" -o pricing.md

런타임이 다음을 처리합니다.

  • 구조화된 출력. 페이지가 깔끔한 마크다운으로 변환되며, 제목, 문단, 표, 코드 블록이 보존됩니다.
  • JavaScript 렌더링. 동적 페이지(SPA, React 앱)는 추출 전에 렌더링됩니다.
  • 정제된 콘텐츠. 내비게이션, 광고, 보일러플레이트를 제거합니다. 남는 것은 본문입니다.
  • 일관된 형식. 크롤된 모든 페이지는 출처와 상관없이 같은 마크다운 구조를 반환합니다.

설치:

npm i -g anycap
anycap login
anycap skill install --target ~/.claude/skills/anycap-cli/

AnyCap 무료 설치 — 신규 사용자 250 크레딧


실제 사용 사례: 경쟁사 리서치 파이프라인

에이전트가 우리 제품의 가격을 경쟁사 세 곳과 비교해야 한다고 해봅시다. 전체 워크플로는 다음과 같습니다.

# 1. 경쟁사 가격 페이지 검색
anycap search --prompt "competitor A pricing plans 2026" --citations
anycap search --prompt "competitor B pricing plans 2026" --citations
anycap search --prompt "competitor C pricing plans 2026" --citations

# 2. 각 가격 페이지를 전체 내용으로 크롤
anycap crawl --url "https://competitor-a.com/pricing" -o competitor-a.md
anycap crawl --url "https://competitor-b.com/pricing" -o competitor-b.md
anycap crawl --url "https://competitor-c.com/pricing" -o competitor-c.md

# 3. 크롤된 콘텐츠를 Claude Code에 넣어 분석
# 이제 Claude Code는 전체 가격 데이터를 가지고 다음을 만들 수 있음:
# - 비교표
# - 가격 포지셔닝 권고
# - 기능 격차 분석

에이전트가 조사하고, 크롤하고, 분석하고, 추천까지 했습니다. 모두 한 세션 안에서 끝납니다. 브라우저 탭을 수동으로 열 필요도, 복사 붙여넣기도 필요 없습니다.


실제 사용 사례: 문서 기반 개발

에이전트가 API 통합을 구현해야 한다고 해봅시다. 인증 흐름을 추측하는 대신 공식 문서를 크롤합니다.

# API 인증 문서 크롤
anycap crawl --url "https://api.provider.com/docs/auth" -o auth-docs.md

# 엔드포인트 레퍼런스 크롤
anycap crawl --url "https://api.provider.com/docs/endpoints" -o endpoints.md

# 이제 Claude Code는 오래됐을 수 있는 학습 데이터가 아니라
# 실제 문서를 바탕으로 통합을 구현함

이것이 “Claude Code, Stripe 통합을 구현해줘”(학습 데이터에 의존하며 오래됐을 수 있음)와 “Claude Code, 최신 Stripe 문서를 크롤해서 설명된 그대로 통합을 구현해줘”(정확하고 최신이며 신뢰할 수 있음)의 차이입니다.


실제 사용 사례: 경쟁 모니터링

반복적인 리서치 워크플로를 설정합니다. 에이전트가 일정에 맞춰 경쟁사 페이지를 크롤하고 결과를 비교합니다.

# 경쟁사 변경 로그 크롤
anycap crawl --url "https://competitor.com/changelog" -o competitor-changelog-$(date +%Y%m%d).md

# 경쟁사 기능 페이지 크롤
anycap crawl --url "https://competitor.com/features" -o competitor-features-$(date +%Y%m%d).md

# 지난주 크롤과 비교
diff competitor-features-20260511.md competitor-features-20260518.md

이 작업을 매주 실행하세요. 에이전트가 새 기능, 변경된 가격, 업데이트된 메시징을 먼저 포착합니다. 고객에게서 듣기 전에 말이죠.


검색 + 크롤: 완전한 리서치 스택

웹 검색은 찾고, 웹 크롤은 읽습니다. 둘을 합치면 에이전트에게 완전한 리서치 기능이 생깁니다.

단계 명령 하는 일
1. 발견 anycap search 근거 있는 인용과 함께 관련 페이지를 찾음
2. 추출 anycap crawl 전체 페이지 내용을 깔끔한 마크다운으로 가져옴
3. 분석 Claude Code 추출된 콘텐츠를 바탕으로 추론함
4. 실행 Claude Code 결과를 바탕으로 구현, 비교, 보고를 수행함

이것이 바로 근거 기반 리서치입니다. 에이전트는 학습 데이터나 불완전한 스니펫에 의존하지 않습니다. 중요한 페이지의 실제 최신 콘텐츠로 작업합니다.


언제 크롤하고 언제 검색할까?

검색을 사용할 때... 크롤을 사용할 때...
빠른 답변이 필요할 때 전체 페이지가 필요할 때
어떤 페이지가 있는지 찾고 있을 때 필요한 페이지를 이미 알고 있고 전체가 필요할 때
인용이 포함된, 근거 있는 요약이 필요할 때 구조화된 데이터 추출이 필요할 때
속도가 우선일 때 깊이가 우선일 때
답이 스니펫에 들어갈 때 답이 표, 목록, 여러 섹션에 걸쳐 있을 때

대부분의 리서치 워크플로는 둘 다 사용합니다. 찾을 때는 검색, 추출할 때는 크롤입니다.


FAQ

웹 크롤은 JavaScript 렌더링 페이지에서도 작동하나요?

네. 런타임은 추출 전에 React, Vue, SPA 같은 동적 콘텐츠를 렌더링합니다. 브라우저에서 보이는 그대로 에이전트가 받습니다.

웹 크롤은 Claude Code의 기본 웹 검색과 어떻게 다른가요?

Claude Code의 기본 웹 검색은 스니펫과 요약을 반환합니다. 웹 크롤은 모든 제목, 문단, 표, 코드 블록이 포함된 전체 페이지를 마크다운으로 반환합니다. 빠른 답변은 검색을, 깊이가 필요할 때는 크롤을 사용하세요.

한 세션에서 여러 페이지를 크롤할 수 있나요?

네. URL마다 anycap crawl을 한 번씩 실행하면 됩니다. 에이전트는 URL 목록을 순회하며 순차적으로 크롤할 수 있습니다. 모든 결과는 로컬 마크다운 파일로 저장됩니다.

페이지가 크롤러를 차단하면 어떻게 되나요?

일부 페이지는 자동 접근을 차단합니다. 런타임은 robots.txt를 준수하고 접근 제한을 자연스럽게 처리합니다. 페이지를 크롤할 수 없으면 에이전트는 조용히 실패하지 않고 명확한 오류 메시지를 받습니다.

Cursor와 Codex에서도 되나요?

네. anycap crawl은 같은 CLI를 사용하며 Claude Code, Cursor, Codex에서 모두 작동합니다. 한 번 설치하면 모든 에이전트가 사용할 수 있습니다.


핵심 정리

웹 검색은 에이전트에게 무엇이 존재하는지 알려줍니다. 웹 크롤은 그것을 읽게 해줍니다. 경쟁사 리서치, 문서 기반 개발, 콘텐츠 추출에는 검색만으로는 부족합니다.

에이전트에게 둘 다 주세요. 찾기 위해 검색하고, 이해하기 위해 크롤하세요.


Claude Code에 전체 웹 접근 권한 주기 — 하나의 CLI로 검색 + 크롤


📖 다음에 읽을 글


관련 글


AnyCap 팀이 작성했습니다. 우리는 에이전트에게 인용이 포함된 웹 검색, 전체 페이지 크롤링, 그리고 당신 없이도 리서치에 필요한 모든 것을 제공하는 capability runtime을 만듭니다.