Home
Login

Une puissante bibliothèque Node.js pour le web scraping et l'automatisation de navigateur, prenant en charge JavaScript et TypeScript, permettant l'extraction de données pour l'IA, les LLM, le RAG, etc.

Apache-2.0TypeScript 18.0kapify Last Updated: 2025-06-19

Crawlee - Framework moderne de web scraping et d'automatisation de navigateur

Aperçu du projet

Crawlee est une bibliothèque Node.js puissante de web scraping et d'automatisation de navigateur développée par Apify, spécialement conçue pour construire des robots d'indexation web fiables. Ce projet prend en charge JavaScript et TypeScript, et est capable de fournir des services d'extraction de données de haute qualité pour l'IA, les grands modèles de langage (LLM), la génération augmentée par la récupération (RAG), etc.

Adresse GitHub: https://github.com/apify/crawlee

Principales caractéristiques

🚀 Interface de scraping unifiée

  • Support multi-moteurs: Interface unifiée supportant les requêtes HTTP et le scraping de navigateur sans tête
  • Choix flexible: Possibilité de choisir la méthode de scraping appropriée en fonction des besoins

🔄 Gestion intelligente des files d'attente

  • Files d'attente persistantes: Support des files d'attente d'exploration d'URL en largeur et en profondeur
  • Extension automatique: Ajustement automatique de l'échelle de scraping en fonction des ressources système

💾 Système de stockage flexible

  • Support multi-formats: Support du stockage enfichable des données tabulaires et des fichiers
  • Local/Cloud: Stockage par défaut dans le répertoire local ./storage, support du stockage cloud

🔒 Anti-détection de niveau entreprise

  • Rotation des proxies: Intégration de la rotation des proxies et de la gestion des sessions
  • Simulation humaine: Configuration par défaut capable de simuler le comportement humain, contournant la détection moderne des robots
  • Falsification d'empreintes: Génération automatique d'empreintes TLS et d'en-têtes de requête similaires à ceux d'un navigateur réel

🛠 Convivial pour les développeurs

  • Support natif de TypeScript: Définitions de types complètes et support des génériques
  • Outil CLI: Fournit un échafaudage pour créer rapidement des projets
  • Hooks de cycle de vie: Gestion personnalisable des événements du cycle de vie
  • Prêt pour Docker: Dockerfile intégré, facile à déployer

Méthodes de scraping prises en charge

Scraping HTTP

  • Haute performance: Support HTTP2 sans configuration, y compris les proxies
  • Analyse intelligente: Intégration des analyseurs HTML rapides Cheerio et JSDOM
  • API friendly: Supporte également le scraping d'API JSON

Automatisation du navigateur

  • Multi-navigateur: Support de plusieurs navigateurs tels que Chrome, Firefox, Webkit
  • Rendu JavaScript: Traitement du contenu dynamique et des applications monopages
  • Fonctionnalité de capture d'écran: Support de la capture d'écran de pages
  • Mode sans tête/avec tête: Choix flexible du mode d'exécution
  • Interface unifiée: Playwright et Puppeteer utilisent la même interface API

Démarrage rapide

Créer un projet avec CLI

npx crawlee create my-crawler
cd my-crawler
npm start

Exemple de code de base

import { PlaywrightCrawler, Dataset } from 'crawlee';

const crawler = new PlaywrightCrawler({
    async requestHandler({ request, page, enqueueLinks, log }) {
        const title = await page.title();
        log.info(`Title of ${request.loadedUrl} is '${title}'`);
        await Dataset.pushData({ title, url: request.loadedUrl });
        await enqueueLinks();
    },
    // headless: false,
});


await crawler.run(['https://crawlee.dev']);

Installer les dépendances

npm install crawlee playwright

Architecture technique

Modules principaux

  • @crawlee/core: Module de fonctionnalités principales
  • @crawlee/types: Définitions de types TypeScript
  • @crawlee/utils: Fonctions utilitaires

Bibliothèques et outils pris en charge

  • Playwright: Automatisation moderne du navigateur
  • Puppeteer: Automatisation de Chrome/Chromium
  • Cheerio: Analyse HTML rapide
  • JSDOM: Manipulation et analyse DOM

Déploiement et intégration

Développement local

  • Les données sont stockées par défaut dans le répertoire ./storage
  • Possibilité de personnaliser l'emplacement de stockage via un fichier de configuration
  • Guide de configuration complet et support de la documentation

Déploiement cloud

  • Plateforme Apify: Étant donné que Crawlee est développé par Apify, il peut être facilement déployé sur la plateforme cloud Apify
  • Support Docker: Configuration Docker intégrée, support du déploiement conteneurisé
  • Multiplateforme: Peut être exécuté dans n'importe quel environnement prenant en charge Node.js

Gestion des versions

  • Version stable: Installation de la version stable publiée via npm
  • Version Beta: Possibilité d'installer la version bêta pour tester de nouvelles fonctionnalités
npm install crawlee@3.12.3-beta.13

Cas d'utilisation

Science des données et IA

  • Ensembles de données d'apprentissage automatique: Collecte de données d'entraînement pour les modèles d'IA
  • Systèmes RAG: Fournir une base de connaissances pour les systèmes de génération augmentée par la récupération
  • Formation LLM: Collecte de données de pré-entraînement pour les grands modèles de langage

Applications commerciales

  • Analyse concurrentielle: Surveillance des produits et des informations de prix des concurrents
  • Étude de marché: Collecte des tendances de l'industrie et des données de marché
  • Agrégation de contenu: Collecte automatisée de contenu tel que des actualités, des articles, etc.

Surveillance technique

  • Surveillance de site web: Vérification régulière des modifications du site web
  • Suivi des prix: Surveillance des prix des produits de commerce électronique
  • Sauvegarde des données: Sauvegarde régulière du contenu important des pages web

Conclusion

Crawlee est un framework de web scraping complet et de conception moderne, particulièrement adapté aux applications d'entreprise nécessitant une fiabilité élevée et des capacités anti-détection. Sa conception d'API unifiée, ses puissantes fonctionnalités anti-détection et son écosystème complet en font un choix idéal pour les projets modernes de collecte de données. Que ce soit pour collecter des données pour des projets d'IA ou pour effectuer des analyses de business intelligence, Crawlee peut fournir une solution stable et fiable.