Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą: BTC, USDT, USDC, ETH, SOL, LTC
Język: Polski
Uzyskaj klucz API

Przypadek użycia · monitoring · /batch

Monitorowanie zmian na stronach: diff publicznych stron jako czysty Markdown

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.

Ostatnia aktualizacja: · 5 min czytania

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

EndpointPOST https://webreaderapi.com/api/v1/batch, potem GET https://webreaderapi.com/api/v1/jobs/{job_id}
Rozmiar batchaDo 100 URL-i na jedno zadanie wsadowe
Co jest porównywaneMarkdown głównej treści, bez reklam, menu i bannerów
Rozliczanie1 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 wolumen200 stron sprawdzanych dziennie = około 6000 stron miesięcznie
Cena3,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
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ą.

Test

10 000 stron

3,75 USD

0,38 USD/1K stron

  • Wypróbuj na swoich prawdziwych URL-ach
  • To samo API co w największym pakiecie
  • Kredyty nigdy nie wygasają
Wybierz 10 000 stron

Starter

50 000 stron

14,25 USD

0,28 USD/1K stron

  • Agent AI lub prototyp RAG
  • Crawluj stronę dokumentacji
  • Kredyty nigdy nie wygasają
Wybierz 50 000 stron

Build

100 000 stron

21,75 USD

0,22 USD/1K stron

  • Agenty produkcyjne i pipeline'y RAG
  • Zadania batch i crawling
  • Kredyty nigdy nie wygasają
Wybierz 100 000 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ą

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.

Od 0,07 USD/1K stron · bez KYC

Uzyskaj klucz API