AI Web Scraping Agent
Donnez-lui une URL et décrivez ce que vous voulez en une phrase. Il renvoie du JSON validé, et il est difficile de le retourner contre le serveur sur lequel il tourne.
Qui a ce problème
Transformer une page web en données structurées, c’est la partie facile. Le faire tourner comme service public demande d’empêcher qu’on pointe le scraper vers des adresses internes, d’éviter que des instructions cachées dans une page orientent le modèle, et de garantir que les résultats en cache d’un utilisateur n’arrivent jamais chez un autre.
Mon rôle
Application web, API, validation des URL et cache isolé par utilisateur.
Comment l’essayer
- Ouvrez la démo, collez une URL et décrivez en une phrase ce que vous voulez. Le résultat revient en JSON validé.
Conditions d’utilisation
- 5 extractions par session, 10 requêtes par minute et 5 navigateurs à la fois.
- 200 appels par jour sur la clé partagée. Avec votre propre clé, ce plafond ne s’applique pas.
- Un coupe-circuit qui arrête les appels payants sans redéploiement.
L’accès public comporte des limites d’utilisation pour maîtriser le coût des services d’IA.
Les décisions que j’ai prises
- Chaque adresse est vérifiée avant la requête, y compris les noms de domaine internationalisés et l’IPv6, puis vérifiée à nouveau pour chaque ressource chargée par la page, donc un domaine qui change son DNS en cours de requête ne peut pas atteindre une adresse interne.
- Le contenu de la page est transmis au modèle comme donnée non fiable, isolé des instructions, donc le texte d’une page ne peut pas donner d’ordres au modèle.
- Utilisez votre propre clé pour 6 fournisseurs (Groq, OpenAI, Anthropic, DeepSeek, Gemini et Grok). La démo publique utilise une clé gratuite partagée avec des limites par visiteur.
- La clé de cache inclut un hash de la clé d’API, donc les résultats en cache ne sont jamais partagés entre utilisateurs.
- Le backend est sur un réseau Docker interne ; seule l’application web peut l’atteindre.
Les limites qui restent
- Les pages qui demandent une connexion sont hors du périmètre.