---
title: "위키피디아부터 쿠팡까지 — 간편한 Claude Cowork 크롤링 가이드"
description: "URL 하나 던지면 클로드가 본문을 요약해 주는 게 당연해 보이지만, 막상 해보면 어떤 사이트는 막힙니다. 7개 URL을 실측해 WebFetch · web-reader · 한계 지점을 한 번에 정리했습니다."
created_at: 2026-04-28
category: guide
tags: ["web-reader", "WebFetch", "클로드", "웹크롤링", "Playwright", "자동화"]
published: true
---
아래처럼 던지면 잘 될 때가 많습니다.

```
이 URL 좀 요약해줘 — https://ko.wikipedia.org/wiki/대한민국
```

그런데 가끔 이런 답이 돌아옵니다.

> unable to fetch from news.naver.com

또는 본문은 분명 있는데 빈 결과만 옵니다. 어떤 사이트는 되고 어떤 사이트는 안 되는 이유가 무엇이고, 안 될 때는 어떻게 풀어야 할까요? 2026년 4월 28일 기준으로 URL 7개를 실제로 돌려본 결과를 정리했습니다.

## 도구 3가지부터 정리

웹 본문을 가져오는 도구는 단계별로 3개가 있습니다.

1. **WebFetch** — 클로드가 기본으로 가지고 있는 도구. URL을 던지면 본문을 받아옴
2. **[web-reader 스킬](/skills/itda-work/web-reader)의 정적 fetch** — WebFetch가 막힐 때 직접 HTTP로 받아오는 단계
3. **web-reader 스킬의 동적 fetch (stealth)** — Playwright 헤드리스 브라우저로 실제 사용자처럼 페이지를 렌더링

위에서 아래로 내려갈수록 더 강력하지만 느려집니다. 실제 URL이 어디서 막히는지 보면 어느 단계까지 필요한지 감이 옵니다.

## 사례 1. 위키피디아 — WebFetch ✅

| 단계 | 결과 |
|---|---|
| WebFetch | ✅ 본문 추출 성공 |

```
https://ko.wikipedia.org/wiki/대한민국 페이지 본문 요약해줘
```

이렇게 던지면 제목과 첫 문단이 깔끔하게 추출됩니다. 정적 HTML이라 WebFetch 한 번으로 끝납니다.

같은 부류로 `docs.python.org/ko/3`, `news.hada.io`도 모두 1단계에서 통과합니다. SSR이거나 정적 페이지인 사이트는 거의 다 됩니다.

## 사례 2. GitHub README — WebFetch ✅

| 단계 | 결과 |
|---|---|
| WebFetch | ✅ README · 별 수 · 설치 명령 추출 |

```
https://github.com/anthropics/claude-code 의 README 핵심만 정리해줘
```

README 본문, 별 수, 설치 명령까지 그대로 추출됩니다. GitHub은 봇 친화적이고 API도 열려 있어서 어떤 도구로도 잘 됩니다.

여기까지가 WebFetch만으로 끝나는 영역입니다. 위키 · 공식 문서 · 오픈소스 README · 일반 블로그는 대부분 이쪽입니다.

## 사례 3. 네이버 뉴스 — WebFetch ❌ → stealth ✅

| 단계 | 결과 |
|---|---|
| WebFetch | ❌ 도메인 거부 ("unable to fetch") |
| 정적 fetch | ⚠️ 412KB 받지만 SPA 셸, 본문 비어있음 |
| 동적 fetch (stealth) | ✅ 493KB 렌더된 HTML, 헤드라인 추출 |

```
https://news.naver.com/ 메인 헤드라인 모아줘
```

이렇게 던지면 이런 답이 돌아옵니다.

> unable to fetch from news.naver.com

도메인 자체가 거부됩니다. web-reader의 정적 fetch로는 412KB짜리 HTML을 받긴 하는데, SPA 셸이라 본문이 비어 있습니다. 마지막 단계인 stealth 모드 동적 fetch까지 가야 493KB의 렌더된 HTML이 나옵니다. 이때부터 헤드라인이 정상 추출됩니다.

## 사례 4. 네이버 금융 종목 — WebFetch ❌ → stealth ✅

| 단계 | 결과 |
|---|---|
| WebFetch | ❌ 도메인 거부 |
| 정적 fetch | ⚠️ 197KB · 타이틀만 보이고 본문 추출 실패 |
| 동적 fetch (stealth) | ✅ 254KB 풀 렌더, 현재가 추출 |

```
https://finance.naver.com/item/main.naver?code=005930 삼성전자 현재가 알려줘
```

같은 패턴입니다. WebFetch는 도메인 차단, 정적 fetch는 셸만 받음, stealth로 254KB 풀 렌더 후 현재가 추출 가능. **네이버 계열 + SPA**는 거의 다 이 패턴입니다.

여기서 핵심 한 가지. **Anthropic의 WebFetch는 도메인 단위로 차단합니다.** `news.naver.com`, `finance.naver.com`, `wsj.com`, `nytimes.com`은 응답 코드와 무관하게 "unable to fetch from {host}" 한 줄로 거부됩니다. WebFetch가 막혔다고 사이트 자체가 막힌 건 아니라는 점이 web-reader의 존재 이유입니다.

## 사례 5. 인스타그램 프로필 — stealth ⚠️ (메타까지만)

| 단계 | 결과 |
|---|---|
| WebFetch | ❌ 데이터 없음 |
| 동적 fetch (stealth) | ⚠️ 1MB HTML 받지만 og:meta까지만 |
| 실데이터 (팔로워·게시물) | ❌ 인증된 GraphQL XHR로만 로드 |

```
https://www.instagram.com/instagram/ 팔로워 수와 최근 게시물 가져와줘
```

stealth로 받으면 1MB짜리 HTML이 나오긴 합니다. 그런데 안에 들어 있는 건 `og:description` 메타 태그 정도. 팔로워 수와 게시물은 로그인 후 GraphQL XHR로만 로드됩니다.

stealth는 **봇 차단**을 우회하는 도구지 **인증**을 만들어 내지는 못합니다. 실제 데이터가 필요하면 Instagram Graph API나 사용자 쿠키 import가 필요합니다.

## 사례 6. 쿠팡 — 모든 단계 ❌

| 단계 | 결과 |
|---|---|
| WebFetch | ❌ 403 |
| 정적 fetch | ❌ curl 403 |
| 동적 fetch (stealth) | ❌ 293바이트 "Access Denied" (Akamai Edge) |

```
https://www.coupang.com/ 메인 베스트 상품 정리해줘
```

stealth 모드로도 안 됩니다. 응답이 293바이트짜리 "Access Denied" 페이지. Akamai Bot Manager가 TLS fingerprint와 JA3 핑거프린트를 검사하기 때문에 헤드리스 브라우저는 Edge에서 즉시 차단됩니다. 페이지 자체가 도달하지 않습니다.

대안은 둘 중 하나입니다.

- 사용자 본인 브라우저 쿠키를 import해서 실제 프로필로 접근 (`setup-browser-cookies`)
- 쿠팡 파트너스 API 같은 공식 채널

## 사례 7. WSJ — 페이월로 모든 단계 ❌

| 단계 | 결과 |
|---|---|
| WebFetch | ❌ "unable to fetch" |
| 정적 fetch | ❌ HTTP 401 |
| 동적 fetch (stealth) | ❌ 1.4KB 블록 페이지 |

```
https://www.wsj.com/ 오늘자 1면 기사 요약해줘
```

stealth로도 1.4KB짜리 블록 페이지만 받습니다. 응답 코드 401. 인증 헤더 없이는 서버가 본문을 안 줍니다. 이런 페이월 사이트는 **정식 구독과 인증 쿠키 외에는 우회 경로가 없습니다.** 블룸버그도 같은 부류입니다.

## 도구 선택 결정 트리

```
URL 입력
  │
  ① WebFetch 시도
  │     └─ 정상 본문 → 끝 (위키, GitHub, 일반 블로그)
  │     └─ "unable to fetch" / 403 / 빈 응답 ↓
  │
  ② web-reader 정적 fetch
  │     └─ 본문 OK → 끝 (NYT 메인 등)
  │     └─ HTML은 받지만 SPA 셸 (extract 빈 결과) ↓
  │
  ③ web-reader 동적 fetch + stealth
  │     └─ 렌더된 HTML OK → 끝 (네이버 뉴스/금융, 인스타 메타)
  │     └─ "Access Denied" / 401 / 1KB 미만 ↓
  │
  ④ 차단 메커니즘 진단
  │     ├─ Akamai/Cloudflare Edge 차단 → 사용자 쿠키 import / 정식 API
  │     ├─ HTTP 401/402 페이월 → 구독 + 인증 쿠키
  │     ├─ 셸만 보이고 데이터는 인증 후 XHR → setup-browser-cookies
  │     ├─ 캡차 → 공식 검색·제휴 API
  │     ├─ 동적 인터랙션 필수 → claude-in-chrome MCP
  │     ├─ WebSocket 실시간 → 공식 WS API
  │     └─ PDF/이미지 → document-skills:pdf, OCR
```

## 막혔을 때 다음 단계

3단계까지 가도 안 되는 경우 우회 경로는 차단 유형에 따라 다릅니다.

- **Akamai/Cloudflare Edge 차단** (쿠팡 등) → 사용자 본인 브라우저 쿠키를 web-reader 프로필로 import하거나 공식 제휴 API 사용
- **HTTP 401 페이월** (WSJ, 블룸버그) → 정식 구독 후 인증 쿠키 주입
- **인증 후 XHR** (인스타, LinkedIn, Gmail) → 공식 API (Instagram Graph API, LinkedIn API, Gmail API/MCP)
- **캡차** (구글 검색, 아마존 상품) → Google Custom Search API, Product Advertising API
- **동적 인터랙션 필수** (TikTok, 카카오맵) → claude-in-chrome MCP나 공식 API
- **PDF·바이너리** (DART 공시) → [PDF 처리 스킬](/skills/itda-work/pdf) 같은 전용 도구

## 정리

URL 하나마다 어떤 도구가 적합한지 매번 판단하는 건 피곤합니다. 위 결정 트리 순서대로 실행하면 5분 안에 답이 나옵니다.

- WebFetch가 통과하면 끝 — 위키 · 공식 문서 · GitHub · 일반 블로그
- 막히면 [web-reader 스킬](/skills/itda-work/web-reader)로 단계별 우회 — 네이버 뉴스/금융 · NYT 등 SPA 사이트
- 그래도 막히면 차단 유형을 보고 우회 경로 선택 — 쿠팡 · 인스타 · WSJ는 공식 API나 쿠키 import 영역

웹에서 정보를 가져올 때 클로드가 만능은 아닙니다. 하지만 **언제 만능이고 언제 한계인지** 알면 시간을 아낄 수 있습니다.

---

이 글은 2026년 4월 28일 기준 실측 결과입니다. 사이트의 봇 차단 정책은 자주 바뀌므로 실제 결과는 시점에 따라 달라질 수 있습니다.