# Surveillance des modifications de sites web : diff des pages publiques en Markdown propre

> Surveillez les pages web publiques : lisez tarifs, politiques et changelogs en Markdown, comparez le texte et alertez. À partir de 0,07 $US/1K pages.

- URL: https://webreaderapi.com/fr/use-cases/monitoring/
- Dernière mise à jour: 2026-10-22
- Éditeur: WebReaderAPI (https://webreaderapi.com)

Comparer le HTML brut déclenche une alerte à chaque changement de publicité ou de token. Comparer le contenu principal en Markdown ne signale que ce qu'un lecteur remarquerait : un nouveau prix, une clause reformulée, une nouvelle entrée de changelog.

**Réponse rapide — Comment surveiller les modifications de contenu des pages web ?**

Lisez chaque page selon un planning en Markdown de son contenu principal, stockez le texte et comparez-le à la version précédente ; alertez uniquement quand le texte change. **WebReaderAPI** lit jusqu'à 100 URLs par job batch, supprime publicités et menus pour qu'ils ne déclenchent pas de fausses alertes, et facture un crédit par page à partir de 0,07 $US/1K pages, en octobre 2026. Sans KYC ; payez en crypto.

## Monitoring avec WebReaderAPI

| Attribut | Valeur |
| --- | --- |
| Endpoint | `POST https://webreaderapi.com/api/v1/batch`, puis `GET https://webreaderapi.com/api/v1/jobs/{job_id}` |
| Taille du batch | Jusqu'à 100 URLs par job batch |
| Ce qui est comparé | Le Markdown du contenu principal, sans publicités, menus ni bannières |
| Facturation | 1 crédit = 1 page lue sans navigateur ; 2 crédits quand la page nécessite un navigateur pour exécuter JavaScript. Une requête qui échoue, ou qu'un robots.txt de site refuse, n'est pas facturée |
| Volume d'exemple | 200 pages vérifiées par jour = environ 6 000 pages par mois |
| Prix | 3,75 $US pour 10 000 pages ; les crédits n'expirent jamais |

## Qu'est-ce qui mérite d'être surveillé ?

Les pages dont la formulation compte pour votre activité et qui changent sans prévenir :

- **Pages de tarifs** des fournisseurs et des concurrents, pour repérer les nouvelles offres et les mouvements de prix.
- **Conditions, politiques de confidentialité et de remboursement** dont vous dépendez, pour repérer les clauses qui changent.
- **Changelogs et notes de version** des outils sur lesquels vous vous appuyez, pour réagir aux breaking changes.
- **Pages de documentation** vers lesquelles votre produit renvoie, pour corriger rapidement une consigne erronée.
- **Avis publics** des régulateurs ou des organismes de normalisation de votre secteur.

Limitez la liste aux pages publiques. Les profils personnels et les pages derrière un login sont hors périmètre.

## Pourquoi diffuser du Markdown plutôt que du HTML ?

Parce que le HTML change sans arrêt sans que le contenu change. Publicités en rotation, jetons de session, horodatages en pied de page et balisage d'A/B test font différer deux chargements de la même page. Un diff sur le HTML transforme ce bruit en alertes, et les gens arrêtent de les lire.

Le Markdown du contenu principal élimine l'essentiel du bruit avant la comparaison. Il reste le texte qu'une personne lit : titres, paragraphes, listes et tableaux. Un diff sur ce texte est court, lisible et mérite une alerte.

*Python : vérifier une liste de pages et afficher ce qui a changé*

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

```

## À quelle fréquence vérifier, et avec quelle politesse ?

Aussi souvent que la page change réellement, et pas plus. Le quotidien convient aux pages de tarifs et aux changelogs ; l'hebdomadaire convient aux politiques et à la documentation. Une page lue toutes les heures vous apprend rarement plus qu'une lecture par jour, et elle coûte 24 fois plus cher.

WebReaderAPI respecte robots.txt pour chaque page et honore le `Crawl-delay` d'un site dans les crawl jobs. Les pages que le site interdit sont ignorées et non facturées, donc un site strict disparaît simplement de votre rapport. Demandez au propriétaire si vous avez besoin d'accéder à une page qui refuse robots.

## Combien coûte la surveillance ?

Un crédit par page et par vérification. Quelques exemples aux prix d'octobre 2026 :

- **50 pages, tous les jours :** environ 1 500 pages par mois. 10 000 pages (3,75 $US) durent plus de six mois.
- **200 pages, tous les jours :** environ 6 000 pages par mois. 50 000 pages (14,25 $US) durent environ huit mois.
- **1 000 pages, toutes les semaines :** environ 4 300 pages par mois, proche du cas précédent.

Les pages qui nécessitent un navigateur consomment deux crédits ; réglez `render=false` pour les pages dont vous savez qu'elles sont en HTML simple, afin de rester à un crédit.

## Quel pack convient à la surveillance ?

Multipliez les pages par les vérifications par mois, puis choisissez un pack qui dure quelques mois. Les crédits n'expirent jamais.

| Offre | Quantité | Prix | Prix par unité |
| --- | --- | --- | --- |
| Test | 10 000 pages | 3,75 $US | 0,38 $US/1K pages |
| Starter | 50 000 pages | 14,25 $US | 0,28 $US/1K pages |
| Build | 100 000 pages | 21,75 $US | 0,22 $US/1K pages |

Dans chaque offre: Extraction du contenu principal · Rendu JavaScript si nécessaire · Pages en échec et refusées non facturées · Les crédits n'expirent jamais

**Avant de payer**

- Recharge minimum 25 $US. Rechargez une fois en crypto, puis achetez n'importe quelle offre depuis votre solde.
- Votre solde n'a pas de date d'expiration et peut acheter des crédits de page à tout moment. Si un pack coûte moins que le dépôt minimum, le montant que vous avez ajouté uniquement pour atteindre ce minimum peut être renvoyé sur demande dans les 30 jours suivant le paiement, en USDT ou USDC, tant que vous ne l'avez pas dépensé. Tout autre solde n'est pas remboursé, sauf si la loi en dispose autrement.
- Crédité dès que votre paiement a été vérifié sur la blockchain. Délai habituel de confirmation du réseau : 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

## Surveillance des changements : questions fréquentes

### WebReaderAPI envoie-t-il des alertes ?

Non. Il lit les pages et renvoie du Markdown ; votre script compare les versions et envoie l'alerte par email, chat ou ticket. Le code ci-dessus affiche les lignes modifiées comme point de départ.

### Comment éviter les fausses alertes dues aux dates et aux compteurs ?

Comparez le Markdown du contenu principal, pas le HTML, et supprimez avant le diff les lignes dont vous savez qu'elles changent à chaque chargement, comme « mis à jour il y a 5 minutes ». La plupart des éléments en rotation sont déjà retirés par l'extraction du contenu principal.

### Puis-je surveiller des pages qui nécessitent JavaScript ?

Oui. Avec `render=auto`, les pages vides sans JavaScript sont rendues dans un navigateur headless pour deux crédits. Les pages qui fonctionnent sans JavaScript restent à un crédit.

### Puis-je surveiller un site entier plutôt qu'une liste de pages ?

Oui : lancez un crawl job plutôt qu'un batch, puis comparez page par page. Pour les grands sites, comparez d'abord les dates `lastmod` du sitemap et ne relisez que les pages qui ont bougé.

---

WebReaderAPI: WebReaderAPI est une API de lecture de pages web pour agents IA qui transforme toute page web publique en Markdown propre, payable en crypto sans envoi de pièce d'identité. Les crédits prépayés à partir de 0,07 $US/1K pages n'expirent jamais, et robots.txt est respecté. Sans KYC — pas de pièce d'identité, pas de selfie, pas de documents. Payez en crypto.
