Home
Login

Bibliothèque de web scraping et d'automatisation de navigateur conçue spécifiquement pour Python, permettant de créer des robots d'exploration fiables et prenant en charge l'extraction de données pour les applications d'IA, LLM, RAG ou GPT.

Apache-2.0Python 5.7kapifycrawlee-python Last Updated: 2025-06-23

Crawlee Python - Bibliothèque de web scraping et d'automatisation de navigateur

Aperçu du projet

Crawlee est une bibliothèque de web scraping et d'automatisation de navigateur spécialement conçue pour Python, permettant de construire des robots d'exploration fiables. Elle permet d'extraire des données pour des applications d'IA, de LLM, de RAG ou de GPT, et de télécharger des fichiers HTML, PDF, JPG, PNG et autres depuis des sites web. Développé par Apify, ce projet est sa bibliothèque de web scraping open source, basée sur BeautifulSoup et Playwright, adoptant une approche intégrée du web scraping.

Caractéristiques principales

Fonctionnalités de base

  • Support multi-moteurs: Fonctionne avec BeautifulSoup, Playwright et HTTP natif
  • Modes flexibles: Supporte les modes avec et sans interface graphique (headless)
  • Rotation de proxy: Fonctionnalité de rotation de proxy intégrée
  • Téléchargement de fichiers: Supporte le téléchargement de fichiers de différents formats tels que HTML, PDF, JPG, PNG, etc.
  • Optimisation de l'intégration de l'IA: Spécialement optimisé pour l'extraction de données pour les applications d'IA, de LLM, de RAG et de GPT

Avantages techniques

  • Indication de type: Conception moderne, incluant des indications de type Python, aidant à la détection précoce des erreurs
  • Stable et fiable: Construit par des développeurs professionnels qui explorent des millions de pages par jour
  • Facile à utiliser: Permet de basculer facilement entre différentes bibliothèques de scraping en fonction des besoins
  • Gestion des erreurs: Mécanismes robustes de gestion des erreurs et de nouvelles tentatives intégrés

Architecture technique

Pile technologique sous-jacente

# Dépendances principales
- BeautifulSoup: Analyse statique de HTML
- Playwright: Traitement des pages avec rendu JavaScript dynamique
- Client HTTP: Support des requêtes HTTP natives

Capacités d'intégration

  • Intégration de la plateforme Apify: Intégration transparente avec la plateforme Apify
  • Diverses techniques de scraping: Supporte diverses techniques de scraping, de l'analyse statique de HTML au rendu JavaScript dynamique

Cas d'utilisation

Principaux domaines d'application

  1. Collecte de données pour l'IA: Collecte de données d'entraînement pour l'apprentissage automatique et les applications d'IA
  2. Systèmes RAG: Fournit des sources de données pour les systèmes de génération augmentée par la récupération (Retrieval-Augmented Generation)
  3. Applications GPT: Fournit des données en temps réel pour diverses applications GPT
  4. Surveillance de contenu: Surveillance des changements de contenu des sites web
  5. Analyse de données: Collecte de données pour l'analyse commerciale

Comparaison avec les concurrents

Parmi les deux principales options open source de Python, Scrapy et Crawlee, Apify a choisi la seconde, estimant que les débutants la préféreraient car elle permet de créer des robots d'exploration avec moins de code et moins de temps de lecture.

État du projet

Informations de publication

  • Licence open source: Entièrement open source et gratuit
  • Support linguistique: Version Python (également disponible en version Node.js)
  • Date de publication: La version Python a attiré beaucoup d'attention quelques semaines seulement après sa publication
  • État de la maintenance: Maintenance active

Réaction de la communauté

  • A reçu une large attention sur GitHub
  • La version Python a été lancée en raison du succès de la version JavaScript et de la demande de la communauté Python
  • A reçu des commentaires positifs dans les communautés techniques telles que Hacker News

Installation et démarrage rapide

Méthode d'installation

pip install crawlee

Exemple d'utilisation de base

from crawlee import BeautifulSoupCrawler

# Créer une instance de robot d'exploration
crawler = BeautifulSoupCrawler()

# Définir le gestionnaire de requêtes
@crawler.router.default_handler
async def handler(context):
    # Extraire les données
    data = {
        'title': context.soup.find('title').get_text(),
        'url': context.request.url
    }
    
    # Sauvegarder les données
    await context.push_data(data)

# Exécuter le robot d'exploration
await crawler.run(['https://example.com'])

Fonctionnalités avancées

Support de proxy

# Configurer la rotation de proxy
crawler = BeautifulSoupCrawler(
    proxy_configuration={
        'proxy_urls': ['http://proxy1:8000', 'http://proxy2:8000']
    }
)

Gestion des erreurs et nouvelles tentatives

# Configuration des nouvelles tentatives automatiques
crawler = BeautifulSoupCrawler(
    max_requests_per_crawl=1000,
    request_timeout=30,
    retry_on_blocked=True
)

Conclusion

Crawlee Python est une bibliothèque de web scraping moderne et puissante, particulièrement adaptée aux scénarios nécessitant la collecte de données pour les applications d'IA. Elle combine les avantages de plusieurs technologies de scraping éprouvées, offre une API simple et des fonctionnalités puissantes, ce qui en fait un excellent choix pour les développeurs Python effectuant du web scraping. Qu'il s'agisse d'une simple extraction de données ou de tâches complexes d'automatisation de navigateur, Crawlee peut fournir une solution fiable.

Star History Chart