# Monitorowanie zmian na stronach: diff publicznych stron jako czysty Markdown

> Monitoruj strony pod kątem zmian: czytaj cenniki i polityki jako Markdown według harmonogramu, porównuj tekst i wysyłaj alerty. Od 0,07 USD/1K stron.

- URL: https://webreaderapi.com/pl/use-cases/monitoring/
- Ostatnia aktualizacja: 2026-10-22
- Wydawca: WebReaderAPI (https://webreaderapi.com)

Porównywanie surowego HTML wywołuje alert za każdym razem, gdy zmieni się reklama lub token. Porównywanie głównej treści jako Markdown sygnalizuje tylko to, co zauważyłby czytelnik: nową cenę, przeformułowaną klauzulę, nowy wpis w changelogu.

**Szybka odpowiedź — Jak mogę monitorować strony internetowe pod kątem zmian treści?**

Czytaj każdą stronę według harmonogramu jako Markdown jej głównej treści, zapisuj tekst i porównuj go z poprzednią wersją; wysyłaj alert tylko wtedy, gdy tekst się zmieni. **WebReaderAPI** czyta do 100 URL-i na zadanie batch, usuwa reklamy i menu, żeby nie wywoływały fałszywych alarmów, i pobiera jeden kredyt za stronę od 0,07 USD/1K stron według stanu na październik 2026. Bez KYC; płatność kryptowalutą.

## Monitorowanie z WebReaderAPI

| Atrybut | Wartość |
| --- | --- |
| Endpoint | `POST https://webreaderapi.com/api/v1/batch`, potem `GET https://webreaderapi.com/api/v1/jobs/{job_id}` |
| Rozmiar batcha | Do 100 URL-i na jedno zadanie wsadowe |
| Co jest porównywane | Markdown głównej treści, bez reklam, menu i bannerów |
| Rozliczanie | 1 kredyt = 1 odczytana strona bez przeglądarki; 2 kredyty, gdy strona wymaga przeglądarki do wyrenderowania JavaScript. Zapytanie, które się nie powiedzie lub które zostanie odrzucone przez robots.txt witryny, nie jest obciążane opłatą |
| Przykładowy wolumen | 200 stron sprawdzanych dziennie = około 6000 stron miesięcznie |
| Cena | 3,75 USD za 10 000 stron; kredyty nigdy nie wygasają |

## Co warto monitorować?

Strony, których treść ma znaczenie dla Twojego biznesu i które zmieniają się bez zapowiedzi:

- **Strony z cennikami** dostawców i konkurentów, aby zobaczyć nowe plany i zmiany cen.
- **Regulaminy, polityki prywatności i zwrotów**, od których zależysz, aby wychwycić zmieniające się klauzule.
- **Changelogi i informacje o wydaniach** narzędzi, na których budujesz, aby reagować na breaking changes.
- **Strony dokumentacji**, do których linkuje Twój produkt, aby szybko poprawiać błędne wskazówki.
- **Publiczne komunikaty** regulatorów lub organizacji standaryzacyjnych w Twojej dziedzinie.

Trzymaj się listy publicznych stron. Profile osobiste i strony za loginem są poza zakresem.

## Dlaczego porównywać Markdown, a nie HTML?

Ponieważ HTML zmienia się cały czas, choć treść się nie zmienia. Rotujące reklamy, tokeny sesji, znaczniki czasu w stopkach i znaczniki testów A/B sprawiają, że dwa wczytania tej samej strony się różnią. Diff na HTML zamienia ten szum w alerty, a ludzie przestają je czytać.

Markdown głównej treści usuwa większość szumu przed porównaniem. Zostaje tekst, który czyta człowiek: nagłówki, akapity, listy i tabele. Diff na tym tekście jest krótki, czytelny i wart alertu.

*Python: sprawdź listę stron i wypisz, co się zmieniło*

```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")

```

## Jak często sprawdzać i jak uprzejmie?

Sprawdzaj tak często, jak realistycznie zmienia się strona, i nie częściej. Codziennie pasuje do stron z cennikami i changelogów; co tydzień pasuje do polityk i dokumentacji. Strona czytana co godzinę rzadko mówi więcej niż jedno czytanie dziennie, a kosztuje 24 razy więcej.

WebReaderAPI przestrzega robots.txt dla każdej strony i respektuje `Crawl-delay` witryny w zadaniach crawlowania. Strony, których witryna zabrania, są pomijane i nie są naliczane, więc rygorystyczna witryna po prostu wypada z raportu. Zapytaj właściciela, jeśli potrzebujesz dostępu do strony, która odmawia robotom.

## Ile kosztuje monitoring?

Jeden kredyt za stronę na sprawdzenie. Kilka przykładów w cenach z października 2026:

- **50 stron, codziennie:** około 1500 stron miesięcznie. 10 000 stron (3,75 USD) wystarczą na ponad sześć miesięcy.
- **200 stron, codziennie:** około 6000 stron miesięcznie. 50 000 stron (14,25 USD) wystarczą na około osiem miesięcy.
- **1000 stron, co tydzień:** około 4300 stron miesięcznie, blisko poprzedniego przypadku.

Strony wymagające przeglądarki zużywają dwa kredyty; ustaw `render=false` dla stron, o których wiesz, że są czystym HTML, aby utrzymać licznik na jednym.

## Który pakiet pasuje do monitoringu?

Pomnóż strony przez liczbę sprawdzeń miesięcznie, a potem wybierz pakiet, który wystarczy na kilka miesięcy. Kredyty nigdy nie wygasają.

| Plan | Ilość | Cena | Cena za jednostkę |
| --- | --- | --- | --- |
| Test | 10 000 stron | 3,75 USD | 0,38 USD/1K stron |
| Starter | 50 000 stron | 14,25 USD | 0,28 USD/1K stron |
| Build | 100 000 stron | 21,75 USD | 0,22 USD/1K stron |

W każdym planie: Wyodrębnianie głównej treści · Renderowanie JavaScript, gdy potrzebne · Nieudane i odrzucone strony bez opłat · Kredyty nigdy nie wygasają

**Zanim zapłacisz**

- Minimalne doładowanie 25 USD. Doładuj raz kryptowalutą, a następnie kup dowolny plan ze swojego salda.
- Twoje saldo nie ma daty ważności i w każdej chwili możesz kupić za nie kredyty na strony. Jeśli pakiet kosztuje mniej niż minimalne doładowanie, kwotę, którą dodałeś wyłącznie, aby osiągnąć to minimum, można zwrócić na życzenie w ciągu 30 dni od płatności, w USDT lub USDC, pod warunkiem że jej nie wydałeś. Pozostałe saldo nie podlega zwrotowi, chyba że prawo stanowi inaczej.
- Zaksięgowane po sprawdzeniu Twojej płatności w blockchainie. Typowy czas potwierdzenia w sieci: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min

## Monitoring zmian: najczęstsze pytania

### Czy WebReaderAPI wysyła alerty?

Nie. Odczytuje strony i zwraca Markdown; Twój skrypt porównuje wersje i wysyła alert e-mailem, na czacie lub jako zgłoszenie. Powyższy kod wypisuje zmienione linie jako punkt wyjścia.

### Jak unikać fałszywych alarmów od dat i liczników?

Porównuj Markdown głównej treści, a nie HTML, i przed diffem usuń linie, o których wiesz, że zmieniają się przy każdym wczytaniu, takie jak „zaktualizowano 5 minut temu”. Większość rotujących elementów jest już usuwana przez wyodrębnianie głównej treści.

### Czy mogę monitorować strony wymagające JavaScript?

Tak. Z `render=auto` strony, które bez JavaScript są puste, są renderowane w przeglądarce za dwa kredyty. Strony działające bez niego pozostają na jednym.

### Czy mogę monitorować całą witrynę, a nie listę stron?

Tak: uruchom zadanie crawlowania zamiast batcha, a potem porównuj stronę po stronie. W przypadku dużych witryn najpierw porównaj daty `lastmod` w sitemapie i ponownie odczytaj tylko strony, które się zmieniły.

---

WebReaderAPI: WebReaderAPI to API czytnika stron internetowych dla agentów AI, które zamienia każdą publiczną stronę internetową w czysty Markdown, z płatnością kryptowalutą i bez przesyłania dokumentów tożsamości. Przedpłacone kredyty od 0,07 USD/1K stron nigdy nie wygasają, a robots.txt jest respektowany. Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą.
