Surveiller des pages web et être prévenu à chaque changement
changedetection.io est une application web en Python qui revisite des pages à intervalle régulier et prévient quand leur contenu change. Par défaut, elle récupère chaque URL toutes les trois heures en HTTP simple, sans exécuter de JavaScript, et compare le texte extrait à la version précédente, en diff par mot, par ligne ou par caractère. Tout se règle dans l'interface, sans écrire de code.
Crawlee répond à l'autre besoin, parcourir des sites entiers : c'est une bibliothèque TypeScript pour programmer ces robots.
Le comparatif des outils de web scraping open source met changedetection.io en regard des frameworks de crawl et des navigateurs anti-détection.
Diff de texte, prix ou capture, alertes filtrées par LLM
- Trois modes de comparaison : le texte et le JSON, le prix et le stock d'une fiche produit, ou la capture d'écran, comparée par OpenCV avec quatre niveaux de sensibilité.
- Des filtres précis : CSS, XPath 1 et 2, JSONPath ou jq, y compris sur le JSON-LD embarqué dans la page, et des règles comme « déclencher si ce texte apparaît » ou « ignorer ce texte ».
- Prix et stock : alerte sous un seuil, au-dessus d'un plafond ou après une variation en pourcentage, avec l'historique en graphique. PriceGhost ne fait que du suivi de prix, mais gère plusieurs comptes et embarque des extracteurs dédiés à Amazon ou Walmart.
- Alertes par Apprise : Discord, Teams, e-mail, syslog ou webhook JSON, avec un titre et un corps en Jinja2 et la capture d'écran jointe si besoin. Les changements sortent aussi en flux RSS.
- Un LLM pour trier : depuis la 0.55.1 (27 avril 2026), une consigne comme « prévenir seulement si l'article revient en stock » filtre les alertes, et un résumé remplace le diff brut. Le modèle passe par LiteLLM, avec une clé OpenAI, Gemini ou Anthropic, ou en local par Ollama.
Ni comptes ni base, Chrome requis pour les captures
Le navigateur headless est optionnel, mais plusieurs fonctions en dépendent. Pour les pages rendues en JavaScript, le fichier Compose prévoit, en commentaire, un conteneur Chrome (sockpuppetbrowser) piloté par la variable PLAYWRIGHT_DRIVER_URL. Le sélecteur visuel, les Browser Steps (se connecter ou remplir un champ avant la capture) et la comparaison de captures l'exigent. Le README ne revendique aucune technique anti-détection : il propose un proxy par surveillance et recommande Bright Data, par un lien de parrainage, ou Oxylabs. Masquer l'empreinte du navigateur relève d'un outil comme Camoufox.
Ni base de données, ni comptes utilisateurs. L'application (Python 3.11 minimum) tient dans un conteneur et range chaque surveillance dans un dossier du volume /datastore. Un mot de passe unique protège toute l'instance, et il est désactivé par défaut. Une vérification de version, que le fichier Compose qualifie aussi de télémétrie, reste active tant que DISABLE_VERSION_CHECK n'est pas posé.
L'abonnement vend l'infrastructure. À 8,99 dollars par mois, l'offre hébergée compte jusqu'à 5 000 URL, un Chrome inclus, des proxies européens, américains et Tor, et des vérifications à partir de cinq minutes environ. Les fonctions que liste sa page sont toutes dans le code sous Apache-2.0. Le README annonce l'IA dans l'offre hébergée à partir de juin 2026, quand le code libre l'a depuis avril.
Le contenu surveillé peut sortir de l'instance. IA activée, les diffs et le texte extrait partent chez le fournisseur du modèle, prévient le README, qui laisse aussi à l'utilisateur le respect des conditions d'utilisation et du robots.txt des sites visés. La variable LLM_FEATURES_DISABLED coupe ces fonctions.
Un développeur principal, environ une version par semaine, toujours en 0.x. Ouvert en janvier 2021, le dépôt a publié 67 versions en 2025 et 40 depuis janvier 2026, jusqu'à la 0.60.8 du 28 septembre. dgtlmoon signe 397 des 514 commits de 2026 sur la branche principale. L'image Docker :latest suit la dernière version stable, :dev la branche master.
