Crawl4AI : installer et tester ce scraper open source
Installation de Crawl4AI dans un environnement isolé, puis test sur trois articles : temps de téléchargement, tableaux et limites du Markdown brut.
👁 118 lectures
Crawl4AI permet d’exécuter un scraper en local et d’obtenir le contenu d’une page téléchargée au format Markdown. J’ai installé la bibliothèque dans un environnement isolé et testé trois articles - état des lieux en octobre 2026.
En bref
- La bibliothèque est sous licence Apache-2.0 et ne facture pas chaque page téléchargée en local.
- Toutes les pages du test ont été téléchargées, mais le résultat brut comprenait aussi les menus et d’autres éléments périphériques.
- Les tableaux ont été conservés lors de la conversion ; les adresses des fichiers MP4, elles, manquaient dans le Markdown brut.
- Le matériel, la maintenance et l’éventuel recours à un modèle restent à la charge de l’utilisateur.
Qu’est-ce que Crawl4AI et que permet l’exécution en local ?
Crawl4AI est une bibliothèque qui télécharge des pages web, les affiche dans un navigateur et prépare leur contenu pour un traitement ultérieur. Le programme peut renvoyer du Markdown et, selon la configuration, des résultats d’extraction. L’exécution en local permet de contrôler le lancement, les fichiers et les règles de filtrage. Elle évite d’acheter un forfait de pages auprès d’un fournisseur cloud, mais nécessite un environnement Python et un navigateur fonctionnels.
C’est une option intéressante pour traiter de façon répétée des sources connues. Vous pouvez indiquer explicitement les adresses autorisées, vérifier les erreurs et conserver le contenu avant nettoyage. Dans une application, mieux vaut séparer le téléchargement de l’analyse ultérieure par un modèle. Vous pouvez ainsi retravailler un document enregistré sans solliciter à nouveau le site et sans confondre les erreurs réseau avec celles produites par l’IA.
Une exécution en local ne signifie pas automatiquement que tout le traitement reste sur votre ordinateur. Télécharger une page publique implique de contacter son serveur et utiliser un modèle externe pour l’extraction lui transmet le contenu concerné. Pour le test décrit ici, je n’ai pas utilisé d’extraction par modèle de langage. Les résultats proviennent du téléchargement, du rendu et de la conversion effectués par la bibliothèque.
Pour mieux comprendre le contrôle du lieu de traitement, consultez notre article sur l’IA locale. Il ne faut toutefois pas confondre l’exécution locale d’un programme avec le droit de copier librement des données externes.
Installer Crawl4AI dans un environnement isolé
Un environnement virtuel venv évite de mélanger les dépendances avec celles d’autres projets. Pour ce test, j’ai installé Crawl4AI dans un dossier réservé à cette expérience. L’installation a également téléchargé des dépendances, et Chromium a été installé séparément à l’aide de Playwright. Les commandes ci-dessous suivent la même procédure sous Windows. Exécutez-les dans un dossier de projet où vous pouvez créer des fichiers d’environnement.
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install crawl4ai
.\.venv\Scripts\playwright.exe install chromium
Le test a été effectué avec Python 3.13.15, Crawl4AI 0.9.5 et Playwright 1.64.0. La version de Chromium installée était 156.0.8078.4. Il s’agit de la configuration relevée le jour du test, et non d’une garantie que les prochaines installations utiliseront exactement les mêmes versions. Pour reproduire le résultat, conservez les versions des dépendances et vérifiez les exigences actuelles du projet.
- Créez un dossier pour le test et ouvrez-y un terminal.
- Créez un venv, puis installez les paquets avec l’interpréteur de cet environnement.
- Installez Chromium avec Playwright depuis ce même venv.
- Enregistrez un court script et exécutez-le avec le même interpréteur.
- Vérifiez le statut du téléchargement et le contenu du fichier avant d’ajouter d’autres adresses.
Si une commande est introuvable, vérifiez d’abord le chemin de l’interpréteur. Installer une autre copie du paquet à l’échelle du système risque de masquer le problème et de rendre l’environnement plus difficile à reproduire. Le chemin d’accès au programme du venv varie selon le système, mais le principe reste le même : utiliser un seul environnement pour la bibliothèque, l’installation du navigateur et le script.
Un script simple et ses limites
Cet exemple télécharge uniquement l’adresse indiquée. Il ne parcourt pas récursivement tout un site. C’est un bon point de départ pour voir facilement ce qui a réellement été renvoyé. Pour le test, j’ai aussi utilisé une configuration de cache et un délai d’attente ; l’exemple ci-dessous montre la structure de base de l’appel, telle qu’elle figure dans la documentation.
import asyncio
from crawl4ai import AsyncWebCrawler
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(
url="https://example.com"
)
if not result.success:
raise RuntimeError(result.error_message)
print(result.markdown.raw_markdown)
asyncio.run(main())
Avant d’étendre le script, définissez le format d’enregistrement, le périmètre des adresses et la condition d’arrêt. Il peut être utile de conserver le HTML renvoyé en plus du Markdown pour comprendre pourquoi un tableau ou une vidéo manque. Évitez toutefois d’archiver inutilement toutes les données téléchargées. Le périmètre et la durée de conservation doivent dépendre de l’objectif et des conditions d’utilisation du contenu.
Mon test de Crawl4AI : trois pages, temps et structure Markdown
J’ai téléchargé séquentiellement trois articles publics, sans exploration récursive ni connexion. J’ai désactivé le cache local de la tâche et n’ai pas activé le filtre du contenu principal. Le temps correspond à l’exécution d’un seul arun, rendu et conversion compris. Le lancement séparé du navigateur partagé a pris 0,560 s ; ce temps n’est pas inclus dans les valeurs du tableau. Les articles testés étaient en polonais : ce test ne mesure donc pas les performances sur du contenu français.
| Adresse sur le site | Durée | Caractères | Tableaux |
|---|---|---|---|
| /kling-4-0-test/ | 0,938 s | 23478 | 2 |
| /tryb-ai/ | 1,259 s | 38860 | 2 |
| /kling-4/ | 1,618 s | 44607 | 7 |
Chaque téléchargement s’est terminé avec le code HTTP 200. J’ai compté respectivement 31, 51 et 36 titres ATX dans le Markdown brut. Ces chiffres incluent les éléments périphériques de l’article et ne correspondent donc pas au nombre de ses sections. Les menus et les éléments répétés ont augmenté le volume du résultat. C’est une bonne raison d’examiner le fichier après le premier lancement, plutôt que de considérer la réussite HTTP comme une preuve que le travail est terminé.
Le nombre de tableaux dans le Markdown correspondait au nombre de tableaux trouvés dans le HTML des articles. Cela ne signifie toutefois pas que chaque cellule a été comparée caractère par caractère. Les première et troisième pages contenaient des sources vidéo dans leur HTML, mais le Markdown brut n’a pas conservé les adresses MP4. Un outil de téléchargement de texte ne préserve pas forcément toute la structure multimédia d’une page. Si l’adresse d’une vidéo est importante, vérifiez-la dans un champ distinct.
Ces temps ne permettent pas de tirer des conclusions pour n’importe quel site. Il s’agit d’exécutions uniques sur une seule machine. Le test ne couvre ni les changements de mise en page, ni la charge de nombreuses sessions parallèles, ni les problèmes d’accès. Il montre le résultat réel de la conversion par défaut, sans désigner un vainqueur universel en matière de vitesse.
Que faut-il améliorer avant d’intégrer Crawl4AI à une application ?
Commencez par déterminer quelle partie de la page constitue le contenu principal. Si la mise en page est stable, vous pouvez limiter l’extraction à l’élément voulu, puis vérifier que les titres, notes de bas de page et tableaux sont toujours présents. Il s’agit d’une piste pour la prochaine étape, pas d’un résultat mesuré. Le filtre n’était pas activé dans le test présenté ici : il est donc impossible de lui attribuer une amélioration précise du volume ou de la qualité.
Ajoutez ensuite une gestion des échecs et des limites au périmètre. L’application doit détecter un résultat vide, un message d’erreur du service ou un changement dans la structure de la source. Une nouvelle tentative n’a de sens que si elle répond à une cause précise, et non sous la forme d’une boucle sans limite. Dans le coût d’une solution locale, prévoyez la surveillance, les mises à jour des dépendances et la correction des règles lorsque le site change.
Crawl4AI conviendra aux personnes qui veulent configurer le processus en connaissance de cause. Si votre priorité est de lire un article sans rien installer, une solution plus simple sera peut-être plus pratique. Si vous préférez confier la gestion de l’infrastructure à un fournisseur, évaluez une API cloud. La licence Apache-2.0 facilite l’utilisation de la bibliothèque, mais ne remplace pas l’examen des droits liés aux contenus téléchargés.
Pour comparer les différences, consultez notre comparatif de Crawl4AI, Firecrawl et Jina. Vous trouverez aussi une présentation des cas d’usage dans notre guide sur les données web pour les agents IA.
FAQ sur Crawl4AI
Crawl4AI est-il vraiment gratuit ?
La bibliothèque locale ne facture pas chaque page et utilise une licence open source. Le matériel, la maintenance, les proxys et les modèles externes peuvent toutefois entraîner des coûts. L’offre cloud est une option distincte, avec ses propres conditions.
Faut-il une clé de modèle pour obtenir du Markdown basique ?
Je n’ai pas utilisé de clé de modèle de langage pour le test décrit ici. L’extraction assistée par un modèle est une autre méthode de travail, dont les coûts et le flux de données doivent être évalués séparément.
Les vidéos ont-elles été conservées ?
Pas sous la forme de contenu audiovisuel. Les adresses MP4 présentes dans le HTML des pages testées ne figuraient pas dans le Markdown brut. Les vidéos n’ont été ni visionnées ni transcrites.
Sources
- Crawl4AI - guide de démarrage - consulté le 2026-10-21.
- Crawl4AI - installation - consulté le 2026-10-21.
- Crawl4AI - dépôt GitHub - consulté le 2026-10-21.
More on this from PROMPTIF
actualités·AlphaEarth Foundations : Google cartographie les types de forêtsAvec AlphaEarth Foundations, Google DeepMind veut distinguer les types de forêts partout dans le monde grâce aux données satellitaires.

