# 웹사이트 변경 모니터링: 공개 페이지를 깔끔한 Markdown으로 diff

> 공개 웹페이지의 변경을 모니터링하세요: 가격 페이지, 정책, 체인지로그를 정해진 일정에 Markdown으로 읽고, 텍스트를 diff하여 알림을 받습니다. US$0.07/1K 페이지부터.

- URL: https://webreaderapi.com/ko/use-cases/monitoring/
- 마지막 업데이트: 2026-10-22
- 발행자: WebReaderAPI (https://webreaderapi.com)

원시 HTML을 비교하면 광고나 토큰이 바뀔 때마다 알림이 발생합니다. 본문을 Markdown으로 비교하면 독자가 알아차릴 것만 표시됩니다: 새 가격, 수정된 조항, 새로운 체인지로그 항목.

**빠른 답변 — 웹페이지의 콘텐츠 변경을 어떻게 모니터링할 수 있나요?**

각 페이지를 정해진 일정에 본문의 Markdown으로 읽고, 텍스트를 저장하여 이전 버전과 비교하세요; 텍스트가 변경될 때만 알림을 보냅니다. **WebReaderAPI**는 배치 작업당 최대 100개의 URL을 읽고, 광고와 메뉴를 제거하여 거짓 경보를 일으키지 않으며, 2026년 10월 기준 US$0.07/1K 페이지부터 페이지당 1 크레딧을 청구합니다. KYC 없이; 암호화폐로 결제.

## WebReaderAPI으로 모니터링

| 속성 | 값 |
| --- | --- |
| 엔드포인트 | `POST https://webreaderapi.com/api/v1/batch`, 그다음 `GET https://webreaderapi.com/api/v1/jobs/{job_id}` |
| 배치 크기 | 배치 작업당 최대 100개의 URL |
| 비교 대상 | 광고, 메뉴, 배너를 제외한 본문의 Markdown |
| 과금 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 |
| 예시 분량 | 매일 200페이지 확인 = 한 달에 약 6,000페이지 |
| 가격 | 10,000페이지당 US$3.75; 크레딧은 만료되지 않습니다 |

## 무엇을 모니터링할 가치가 있나요?

비즈니스에 중요한 문구가 들어 있고 예고 없이 바뀌는 페이지입니다:

- **가격 페이지**: 공급업체와 경쟁사가 새 요금제와 가격 변동을 내놓는지 확인할 수 있습니다.
- **이용약관, 개인정보 처리방침, 환불 정책**: 의존하고 있는 조항이 바뀌는지 잡아낼 수 있습니다.
- **변경 로그와 릴리스 노트**: 의존하는 도구의 호환성 깨지는 변경(breaking change)에 대응할 수 있습니다.
- **문서 페이지**: 제품이 연결해 둔 안내가 끊기면 빠르게 고칠 수 있습니다.
- **공지 사항**: 해당 분야 규제 기관이나 표준 기구의 공지를 확인할 수 있습니다.

목록은 공개 페이지로 한정하세요. 개인 프로필과 로그인 뒤에 있는 페이지는 범위 밖입니다.

## HTML 대신 Markdown을 비교하는 이유는 무엇인가요?

HTML은 콘텐츠가 그대로여도 항상 바뀌기 때문입니다. 돌아가며 노출되는 광고, 세션 토큰, 푸터의 타임스탬프, A/B 테스트 마크업 때문에 같은 페이지를 두 번 불러와도 달라집니다. HTML로 diff를 뜨면 이런 노이즈가 전부 알림이 되고, 사람들은 결국 알림을 읽지 않게 됩니다.

본문 추출을 거친 Markdown은 비교하기 전에 노이즈를 대부분 걷어냅니다. 남는 것은 사람이 읽는 텍스트, 곧 제목, 문단, 목록, 표입니다. 이 텍스트의 diff는 짧고 읽기 쉬워서 알림으로 보낼 가치가 있습니다.

*Python: 페이지 목록을 확인하고 바뀐 내용을 출력하기*

```python
import difflib
import json
import os
import pathlib
import time

import requests

API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
STORE = pathlib.Path("snapshots.json")
URLS = [
    "https://example.com/pricing",
    "https://example.com/legal/terms",
    "https://example.com/changelog",
]

old = json.loads(STORE.read_text(encoding="utf-8")) if STORE.exists() else {}
job = requests.post(API + "/batch", headers=HEADERS, json={"urls": URLS}, timeout=60).json()
results, cursor, delay = [], None, 5
while True:
    params = {"cursor": cursor} if cursor else {}
    page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json()
    results += page.get("results", [])
    cursor = page.get("next_cursor")
    if page["status"] == "done" and not cursor:
        break
    if not cursor:
        time.sleep(delay)
        delay = min(delay * 2, 60)

new = dict(old)
for item in results:
    if "markdown" not in item:
        print("not read:", item["url"], item.get("error", {}).get("code"))
        continue
    before = old.get(item["url"], "")
    if before and before != item["markdown"]:
        diff = difflib.unified_diff(before.splitlines(), item["markdown"].splitlines(), lineterm="", n=0)
        print("CHANGED:", item["url"])
        print("\n".join(list(diff)[:40]))
    new[item["url"]] = item["markdown"]
STORE.write_text(json.dumps(new, ensure_ascii=False), encoding="utf-8")

```

## 얼마나 자주, 얼마나 예의 있게 확인해야 하나요?

페이지가 실제로 바뀌는 만큼만 확인하고, 그보다 자주 하지 마세요. 가격 페이지와 변경 로그에는 매일이 맞고, 정책과 문서에는 매주가 맞습니다. 한 시간마다 읽는 페이지는 하루에 한 번 읽는 것보다 더 알려주는 게 거의 없으면서 비용은 24배가 듭니다.

WebReaderAPI은 모든 페이지에 대해 robots.txt를 따르고, 크롤링 작업에서는 사이트의 `Crawl-delay`을 존중합니다. 사이트가 허용하지 않는 페이지는 건너뛰고 요금도 부과하지 않으므로, 엄격한 사이트는 그냥 리포트에서 빠집니다. robots를 거부하는 페이지에 접근해야 한다면 사이트 소유자에게 문의하세요.

## 모니터링 비용은 얼마인가요?

확인 1회당 페이지 1크레딧입니다. 2026년 10월 가격 기준 예시는 다음과 같습니다:

- **50페이지, 매일:** 한 달에 약 1,500페이지. 10,000페이지(US$3.75)이면 6개월 넘게 쓸 수 있습니다.
- **200페이지, 매일:** 한 달에 약 6,000페이지. 50,000페이지(US$14.25)이면 약 8개월 쓸 수 있습니다.
- **1,000페이지, 매주:** 한 달에 약 4,300페이지로, 앞의 경우와 비슷합니다.

브라우저가 필요한 페이지는 2크레딧을 씁니다. 일반 HTML인 게 확실한 페이지에는 `render=false`를 설정해서 1크레딧으로 유지하세요.

## 모니터링에는 어떤 팩이 맞나요?

페이지 수에 월별 확인 횟수를 곱한 다음, 몇 달은 버티는 팩을 고르세요. 크레딧은 만료되지 않습니다.

| 플랜 | 수량 | 가격 | 단가 |
| --- | --- | --- | --- |
| 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 |
| 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 |
| 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 |

모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음

**결제 전 확인 사항**

- 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요.
- 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다.
- 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분

## 변경 모니터링: 자주 묻는 질문

### WebReaderAPI가 알림을 보내나요?

아니요. 페이지를 읽어 Markdown으로 반환할 뿐이고, 스크립트가 버전을 비교해 이메일, 채팅, 티켓으로 알림을 보냅니다. 위 코드는 바뀐 줄을 출력하는 출발점입니다.

### 날짜와 카운터 때문에 생기는 오탐은 어떻게 피하나요?

diff를 뜨기 전에 HTML이 아니라 본문 추출 Markdown을 비교하고, "5분 전 업데이트"처럼 매번 로드마다 바뀌는 걸 아는 줄은 미리 걷어내세요. 대부분의 회전 요소는 본문 추출 단계에서 이미 제거됩니다.

### JavaScript가 필요한 페이지도 모니터링할 수 있나요?

네. `render=auto`을 쓰면 JavaScript 없이는 비어 있는 페이지를 브라우저에서 렌더링하며 2크레딧을 씁니다. JavaScript 없이도 동작하는 페이지는 1크레딧 그대로입니다.

### 페이지 목록이 아니라 사이트 전체를 모니터링할 수 있나요?

네. batch 대신 크롤링 작업을 실행한 뒤 페이지별로 비교하세요. 규모가 큰 사이트라면 먼저 sitemap의 `lastmod` 날짜를 비교하고, 바뀐 페이지만 다시 읽으세요.

---

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