# LLM을 위해 웹페이지를 Markdown으로 변환하는 방법

> 2026년에 LLM을 위해 웹페이지를 Markdown으로 변환하는 방법: 세 가지 방법, 깔끔한 Markdown이 유지하는 것, 토큰을 제한하는 방법, 그리고 이를 청크하는 Python 코드.

- URL: https://webreaderapi.com/ko/guides/convert-web-page-to-markdown/
- 마지막 업데이트: 2026-10-22
- 발행자: WebReaderAPI (https://webreaderapi.com)

복사해서 붙여넣기는 한 페이지에는 통합니다. 라이브러리는 직접 크롤러를 돌릴 때 통합니다. API는 페이지마다 요청 하나를 원할 때 통합니다. 여기에서 어떻게 고를지, 좋은 출력이 어떤 모습인지, 재사용할 수 있는 코드를 보여드립니다.

**빠른 답변 — LLM을 위해 웹페이지를 Markdown으로 어떻게 변환하나요?**

페이지를 가져와 본문만 남기고, 제목, 목록, 표, 링크를 Markdown으로 바꾼 뒤 모델 예산에 맞게 길이를 제한하세요. 직접 할 수도 있고, 오픈소스 라이브러리로 할 수도 있고, API 호출 한 번으로 할 수도 있습니다: **WebReaderAPI**는 2026년 10월 기준 US$0.07/1K 페이지부터 페이지당 1크레딧으로 Markdown과 메타데이터를 반환합니다. KYC 없이; 암호화폐 결제.

## 웹페이지에서 Markdown을 얻는 세 가지 방법

| 속성 | 값 |
| --- | --- |
| 직접 | 브라우저나 리더 뷰에서 텍스트를 복사하세요; 몇 페이지에는 괜찮습니다 |
| 오픈소스 라이브러리 | 자체 페처 안에서 Readability, Trafilatura, MarkItDown 또는 Crawl4AI 사용 |
| 웹 리더 API | `GET https://webreaderapi.com/api/v1/read?url=…`는 Markdown, 제목, 작성자, 날짜를 반환합니다 |
| 길이 제어 | 변환 후 WebReaderAPI에서 `max_chars`를 사용하거나 직접 텍스트를 잘라내세요 |
| JavaScript 페이지 | 헤드리스 브라우저가 필요합니다. WebReaderAPI는 필요할 때 2크레딧으로 렌더링합니다 |

## 어떤 방법을 사용해야 하나요?

처리량과 직접 운영할 인프라의 정도에 따라 선택하세요.

| 방법 | 적합한 용도 | 직접 처리할 것 |
|---|---|---|
| 복사 및 붙여넣기 | 소수의 페이지, 일회성 프롬프트 | 수작업 정리 |
| 코드 내 라이브러리 | 꾸준한 처리량, 완전한 제어 | 가져오기, 브라우저, robots.txt, PDF, 재시도 |
| 웹 리더 API | 많은 사이트를 읽는 에이전트와 파이프라인 | 요청과 결과만 |

라이브러리는 제어권을 주고 페이지당 요금이 없습니다. 대신 운영 비용이 듭니다. JavaScript 페이지용 헤드리스 브라우저, robots.txt 확인, 문자 집합과 리다이렉트 처리, 그리고 PDF용 별도 경로가 필요합니다. API는 이 모든 것을 하나의 HTTP 호출로 통합합니다.

## 좋은 Markdown은 무엇을 유지하고 무엇을 버려야 하나요?

좋은 Markdown은 의미를 담은 모든 요소를 유지하고, 레이아웃이나 마케팅 목적으로만 존재하는 것은 모두 버립니다.

- **제목은 `#`, `##`, `###`로 유지하세요**: 모델과 청커(chunker)에게 각 주제가 어디서 시작하는지 알려줍니다.
- **목록과 표는 Markdown 목록과 파이프 표로 유지하세요**: 단계와 숫자를 읽기 쉽게 유지합니다.
- **링크는 `[text](url)`로 유지하세요**: 어시스턴트가 출처를 인용하고 따라갈 수 있게 합니다.
- **코드 블록은 펜스로 유지하세요**, 페이지에 언어가 표시되어 있으면 언어도 함께 넣으세요.
- **메뉴, 쿠키 안내, 광고, 관련 글 위젯, 푸터는 버리세요**: 모든 페이지에서 반복되어 검색(retrieval)을 오염시킵니다.

실제 페이지 몇 개에서 결과를 확인하세요. 추출 도구들은 포럼, 긴 표, 여러 기사가 있는 페이지에서 가장 많이 의견이 갈립니다.

## Markdown은 HTML보다 얼마나 작나요?

보통 훨씬 작습니다. 페이지 장식과 마크업이 사라지기 때문입니다. Cloudflare가 2026년 2월 12일 Markdown for Agents 기능을 출시했을 때, 예시 페이지는 HTML로 16,180토큰에서 Markdown으로 3,150토큰이 되었으며, 약 80% 줄어든 것입니다.

비율은 사이트에 따라 다릅니다. 긴 글은 짧은 페이지에 무거운 템플릿이 둘러싼 경우보다 비율상 덜 줄어듭니다. 예산을 정하기 전에 실제 소스에서 측정하세요.

## 모델의 토큰 예산 안에 페이지를 어떻게 유지하나요?

모델에 도달하기 전에 텍스트를 제한하고, 남은 부분을 제목 기준으로 나누세요. WebReaderAPI에서는 `max_chars` 파라미터가 Markdown을 설정된 길이(1,000~500,000자)에서 자릅니다. `word_count` 필드는 전체 글의 길이를 알려주므로, 에이전트가 나머지를 읽을 가치가 있는지 판단할 수 있습니다.

검색(retrieval)의 경우, 먼저 제목 기준으로 나누고 그다음에 긴 섹션을 자르세요. 자기 제목으로 시작하는 청크는 주제를 유지하지만, 긴 페이지에서 문장 중간에 잘린 청크는 그렇지 않습니다.

*Python: 페이지를 Markdown으로 읽고 제목 기반 청크로 나누기*

```python
import os
import re

import requests

API = "https://webreaderapi.com/api/v1/read"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}


def page_to_chunks(url, max_chars=60000, chunk_len=1500):
    params = {"url": url, "format": "markdown", "max_chars": max_chars}
    resp = requests.get(API, headers=HEADERS, params=params, timeout=90)
    data = resp.json()
    if resp.status_code != 200:
        print("not read:", data["error"]["code"])
        return []
    chunks = []
    for section in re.split(r"\n(?=#{1,3} )", data["markdown"]):
        section = section.strip()
        while section:
            chunks.append(section[:chunk_len])
            section = section[chunk_len:]
    return [{"text": c, "source": data["final_url"], "title": data["title"]} for c in chunks]


if __name__ == "__main__":
    for chunk in page_to_chunks("https://example.com/guides/compost")[:3]:
        print(chunk["title"], "|", chunk["text"][:80])

```

## 보통 무엇이 잘못되며, 어떻게 알아차리나요?

대부분의 나쁜 변환은 네 가지 문제에서 비롯됩니다.

- **빈 출력.** 페이지가 JavaScript로 콘텐츠를 만듭니다. 낮은 `word_count`를 찾아보고, 브라우저에서 페이지를 렌더링하거나 `render=true`을 설정하세요.
- **결과에 쿠키 또는 동의 문구.** 추출기가 배너를 유지했습니다. 본문 추출을 선호하고 각 결과의 첫 줄들을 확인하세요.
- **표 누락.** 일부 사이트는 표를 이미지나 canvas 요소로 그립니다. 어떤 텍스트 추출기도 이를 읽을 수 없습니다.
- **페이지 대신 거부 응답.** 사이트가 robots.txt에서 robots를 허용하지 않았거나 요청을 거부했습니다. 이를 존중하세요. 소유자에게 접근을 요청하거나, 사이트가 공식 API나 피드를 제공하면 그것을 사용하세요.

이 중 어떤 것도 더 빠르게 재시도한다고 해결되지 않습니다. 오류를 읽고, 방법이나 소스를 바꾸세요.

## 웹페이지를 Markdown으로 변환: 자주 묻는 질문

### LLM에는 Markdown이 일반 텍스트보다 나은가요?

대부분의 페이지에서는 그렇습니다. Markdown은 적은 토큰 비용으로 제목, 목록, 표, 링크를 유지하므로 모델이 구조를 보고 출처를 인용할 수 있습니다. 일반 텍스트는 조금 더 짧지만 그 구조를 잃습니다.

### 한 페이지만이 아니라 웹사이트 전체를 변환할 수 있나요?

네. 크롤링하고 각 페이지를 변환하면 됩니다. WebReaderAPI의 [crawl API](https://webreaderapi.com/ko/crawl-api/)는 하나의 작업에서 둘 다 수행합니다: 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다.

### PDF도 같은 방식으로 변환할 수 있나요?

네, PDF의 URL을 같은 endpoint로 보내면 됩니다. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다.

### 로그인 뒤에 있는 페이지는요?

본인 소유이며 직접 내보낸 경우가 아니라면 제3자 서비스를 통해 변환하지 마세요. WebReaderAPI는 공개 페이지를 읽기만 하며 계정에 로그인하지 않습니다.

### 무료로 할 수 있는 방법이 있나요?

오픈소스 라이브러리는 무료로 사용할 수 있으며 자신의 머신에서 실행됩니다. WebReaderAPI에는 무료 플랜이 없습니다. 가장 작은 팩은 10,000페이지이며 US$3.75이고, KYC 없이 암호화폐로 결제합니다.

## 출처

1. [Markdown for Agents 소개](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12)

---

WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요.
