Crawlee

Crawlee

Bibliothèque TypeScript pour crawlers Cheerio, Playwright ou Puppeteer

Crawlee est une bibliothèque Node.js, écrite en TypeScript, pour construire des crawlers. On lui donne des URL et une fonction qui traite chaque page ; elle gère la file des requêtes, les nouvelles tentatives, la concurrence et l'enregistrement des résultats. Les crawlers HTTP passent le HTML à Cheerio ou JSDOM sans exécuter le JavaScript de la page, les crawlers navigateur pilotent Playwright ou Puppeteer, et tous partagent la même interface.

Apify, éditeur d'une plateforme de scraping dans le cloud, développe le projet sous licence Apache-2.0 et maintient aussi Crawlee for Python, un portage dans un dépôt séparé.

Le comparatif des outils de web scraping open source met Crawlee face aux navigateurs anti-détection et aux outils de rotation de proxies, avec ce que chacun suppose.

Routeur partagé entre HTTP et navigateur, empreintes par défaut

  • Une API pour HTTP et navigateur : CheerioCrawler, JSDOMCrawler, PlaywrightCrawler et PuppeteerCrawler partagent le routeur, la file de requêtes, la gestion des erreurs et le stockage.
  • Un crawler qui choisit son moteur : AdaptivePlaywrightCrawler passe en HTTP seul sur les pages où il détecte que le navigateur n'est pas nécessaire. La classe est marquée expérimentale.
  • Empreintes générées par défaut : les crawlers Playwright et Puppeteer produisent des empreintes de navigateur avec deux paquets d'Apify, fingerprint-generator et fingerprint-injector. En HTTP, le client par défaut, got-scraping, envoie des en-têtes de navigateur et reproduit leurs empreintes TLS.
  • Concurrence réglée sur la machine : le nombre de pages traitées en parallèle suit le CPU et la mémoire disponibles.
  • Proxies et sessions liés : ProxyConfiguration fait tourner une liste de proxies, et une session garde le même proxy d'une requête à l'autre.
  • Démarrage outillé : npx crawlee create génère un projet à partir de modèles, et des images Docker (apify/actor-node-playwright-chrome et voisines) embarquent Node.js et un navigateur.

Proxies non fournis et v4 en release candidate

Les proxies ne sont pas fournis. Crawlee fait tourner ceux qu'on lui donne. Son guide anti-blocage nomme pourtant l'adresse IP comme première cause de blocage. Apify vend les siens : la documentation réserve Apify Proxy aux abonnés, et la page des tarifs facture les proxies résidentiels au gigaoctet.

La plateforme Apify est l'offre commerciale. La documentation de déploiement en donne le contenu : instances de calcul (les Actors), stockage des requêtes et des résultats, proxies, planification, webhooks. Un crawler y passe avec Actor.init() du SDK Apify, puis apify push. Le site de Crawlee résume : il « fonctionne partout, mais Apify offre la meilleure expérience ». Un compte gratuit reçoit 5 dollars d'usage par mois, et les forfaits payants facturent l'usage en plus de l'abonnement. La documentation décrit aussi un déploiement sur AWS Lambda et sur Google Cloud Run.

Le stockage livré est local. File de requêtes et résultats vont dans ./storage ; le stockage en ligne, consultable par API, est celui d'Apify.

Une bibliothèque pour développeurs JavaScript. Crawlee n'a pas d'interface, et la planification est un service d'Apify. Pour être prévenu qu'une page change sans rien programmer, changedetection.io est une application auto-hébergée prête à l'emploi.

Le challenge Cloudflare demande plus. La documentation admet que les protections intégrées n'y suffisent pas et renvoie vers Camoufox, un Firefox modifié qui, seul, ne passe pas toujours le challenge, mais « devrait » y arriver avec le helper handleCloudflareChallenge. Apify maintient camoufox-js, un portage JavaScript que son dépôt dit expérimental.

v3 stable, v4 en release candidate. La 3.18.2 (29 septembre 2026) suit la 3.16.0 de février, la 3.17.0 de juin et la 3.18.0 d'août. La v4.0.0-rc.1 est sortie le 6 octobre 2026, et son guide de migration prévient que les changements cassants « sont nombreux ». La v3 demande Node.js 16 ou plus, la v4 Node.js 22.13 ou plus, en modules ESM natifs. Playwright n'est pas embarqué, pour alléger l'installation : il s'ajoute à part.

SOURCES

DÉPÔThttps://github.com/apify/crawlee
SITEhttps://crawlee.dev
LICENCEApache-2.0