À propos du projet

Crawlee est une bibliothèque de scraping web et d'automatisation de navigateur pour Node.js, écrite en TypeScript et distribuée sous forme de paquet NPM `crawlee`. Elle vise à couvrir le crawling et le scraping de bout en bout, en fournissant une interface unique pour le crawling HTTP et le crawling par navigateur réel. Principales capacités décrites dans le README : - Interface unique pour le crawling HTTP et par navigateur headless - File persistante des URL à crawler, prenant en charge l'ordre en largeur d'abord et en profondeur d'abord - Stockage enfichable pour les données tabulaires et les fichiers, avec par défaut un répertoire local `./storage` - Mise à l'échelle automatique selon les ressources système disponibles - Rotation de proxys et gestion de sessions intégrées - Cycles de vie personnalisables avec des hooks - Une CLI pour amorcer des projets (`npx crawlee create my-crawler`) - Routage, gestion des erreurs et nouvelles tentatives configurables - Dockerfiles prêts à déployer - Écrit en TypeScript avec des génériques Les fonctionnalités de crawling HTTP incluent la prise en charge de HTTP2 sans configuration (même pour les proxys), la génération automatique d'en-têtes imitant un navigateur, la réplication des empreintes TLS de navigateur, des parseurs HTML rapides intégrés (Cheerio et JSDOM) et la possibilité de scraper des API JSON. Les fonctionnalités de crawling par navigateur réel incluent le rendu JavaScript et les captures d'écran, la prise en charge headless et headful, la génération sans configuration d'empreintes imitant un humain, la gestion automatique du navigateur et la possibilité d'utiliser Playwright et Puppeteer via la même interface sur Chrome, Firefox, Webkit et autres. L'installation nécessite Node.js 16 ou supérieur. Le démarrage rapide recommandé utilise la CLI Crawlee, tandis que l'installation manuelle consiste à ajouter `crawlee` et une bibliothèque d'automatisation de navigateur telle que `playwright` à un projet existant. Un court exemple montre un `PlaywrightCrawler` qui journalise les titres des pages, pousse les résultats dans un dataset et met des liens en file d'attente. Les versions bêta sont publiées sous `crawlee@next`. Le projet est développé par Apify, est open source et s'exécute partout, avec une prise en charge documentée du déploiement sur la plateforme Apify. Il est sous licence Apache License 2.0. Les canaux d'assistance incluent les issues GitHub, Stack Overflow, GitHub Discussions et un serveur Discord. Un équivalent Python, Crawlee for Python, est également mentionné.