Crunchbase est protégé par le système anti-bot de niveau entreprise de Cloudflare, qui bloque la plupart des scrapers automatisés . Même des outils avancés comme Selenium renvoient souvent des erreurs 403 ou des pages « Un instant… » interminables.
Apprenez à extraire des données de Crunchbase avec Python : configuration de votre environnement, utilisation d’unoutil de déverrouillage Web pour contourner les restrictions et extraction de données à partir des résultats de recherche et des pages entreprises de Crunchbase.
Résultats du benchmark de l'API de scraping de Crunchbase
Le graphique illustre le taux de réussite quotidien des API de scraping de Crunchbase :
Pour plus de détails sur la manière dont ces indicateurs sont collectés, consultez la méthodologie complète du benchmark de scraping de Crunchbase.
Comment extraire des données de Crunchbase avec Python
Dans ce tutoriel sur le scraping en Python, nous allons vous montrer comment collecter des données Crunchbase, notamment les noms d'entreprises, les descriptions, les sites web, les sièges sociaux, le nombre d'employés, les levées de fonds et les indicateurs de croissance.
Nous avons utilisé Bright Data Web Unlocker pour contourner les défis anti-bots et maintenir un accès stable.
Étape 1 : Configuration
Commencez par installer les bibliothèques Python nécessaires au web scraping et configurez notre proxy API Crunchbase.
Les slugs d'entreprise sont les identifiants d'URL uniques sur Crunchbase (par exemple, si l'URL de la page est crunchbase.com/organization/anthropic, le slug est anthropic).
Étape 2 : Effectuer des requêtes via le déverrouilleur Web
Au lieu d'envoyer des requêtes directes à Crunchbase, nous utilisons l'API Web Unlocker pour contourner les systèmes anti-bots et garantir des résultats cohérents. Cette méthode est idéale pour l'extraction de données de Crunchbase à grande échelle , car elle renvoie des réponses HTML propres tout en gérant automatiquement les CAPTCHA et les délais de rendu JavaScript.
Étape 3 : Analyser le contenu HTML
Nous analysons le code HTML renvoyé par Crunchbase à l'aide de BeautifulSoup afin d'en extraire le texte pour l'extraction de données structurées. Cette étape est essentielle pour tout scraper Crunchbase en Python, car elle nous permet de localiser des éléments tels que le nom de l'entreprise, sa description et l'URL de son site web.
Étape 4 : Extraire le nom de l’entreprise
Ici, nous extrayons le nom de l'entreprise de la balise `<title>` de la page Crunchbase. Le nom apparaît avant le premier tiret ; nous utilisons une expression régulière pour le capturer et le nettoyer. Ainsi, notre outil d'extraction de données Crunchbase ne collecte que des noms d'entreprise valides, et non des titres système ou des espaces réservés.
Étape 5 : Extraire la description de l’entreprise
La balise méta description nous fournit un résumé standardisé de l'entreprise. C'est une excellente source de descriptions d'entreprises cohérentes pour la création d'un outil d'extraction de données d'entreprises ou d'un ensemble de données enrichi.
Étape 6 : Extraire l’URL du site web de l’entreprise
Ce bloc extrait l'URL du site web officiel de l'entreprise depuis Crunchbase. Comme Crunchbase affiche les domaines sous forme de texte de lien visible, nous filtrons les liens internes de Crunchbase et identifions les sites web d'entreprises valides.
Étape 7 : Extraire l’emplacement du siège social
Nous localisons la ville ou le pays du siège social en ciblant les liens Crunchbase qui correspondent à des modèles d'URL de localisation connus. Cette extraction garantit que vos données Crunchbase incluent des métadonnées de localisation utiles pour l'analyse régionale ou la segmentation du marché.
Étape 8 : Extraire le nombre d’employés
L'outil d'extraction de données de Crunchbase tente d'obtenir le nombre d'employés à partir des balises structurées de la base. Si cette information est indisponible sous forme de lien, il effectue une recherche par plage de texte (par exemple, « 1001–5000 employés »). Ceci garantit des données fiables sur la taille des entreprises pour l'analyse et la segmentation.
Étape 9 : Extraire les informations sur le financement
Cette partie du tutoriel de scraping de Crunchbase extrait les informations relatives aux levées de fonds (par exemple, Série A, Seed, Série F) et le montant total des capitaux levés.
En ciblant les champs de financement structurés, cette méthode permet à votre scraper Python Crunchbase de collecter des données précises sur les investissements des startups pour l'analyse des tendances et de la croissance.
Étape 10 : Extraire les scores de croissance et de chaleur
La documentation actuelle de Crunchbase présente également ces signaux comme faisant partie d'une couche prédictive plus large pouvant inclure des informations sur la croissance, des prévisions de financement et d'autres indicateurs prospectifs. Par conséquent, l'extraction de texte à partir d'une page web ne permet plus de saisir l'intégralité du contexte désormais accessible via les flux de travail Crunchbase sous licence.
Nous extrayons les scores de croissance et de popularité pour mesurer la dynamique des entreprises. Comme Crunchbase ne fournit pas toujours une structure HTML cohérente pour ces valeurs, notre outil d'extraction utilise des expressions régulières pour les détecter directement dans le texte.
Si vous disposez d'un accès sous licence, les interfaces officielles des produits Crunchbase ou les packages API peuvent constituer une source plus stable pour ces signaux que l'analyse HTML.
Étape 11 : Générer les résultats et enregistrer la sortie
Enfin, nous structurons toutes les données des entreprises de Crunchbase , y compris le nom, la description, le financement, la taille et les scores, dans un dictionnaire, ajoutons un petit délai entre les requêtes (pour une extraction sécurisée) et enregistrons le résultat sous le nom crunchbase_data.json .
Cela garantit que votre pipeline d'extraction de données Crunchbase produit des résultats propres et structurés, prêts pour l'analyse, les tableaux de bord ou l'intégration dans des pipelines de données.
Exemple de sortie
Ce résultat illustre comment le scraper Python de Crunchbase structure et exporte les données.
Chaque entrée comprend le nom de l'entreprise, sa description , son financement , sa localisation , le nombre d'employés et ses scores de performance , le tout au format JSON pour une intégration facile dans les outils d'analyse ou les bases de données.
Pourquoi le scraping de Crunchbase est-il difficile ?
Nous avons testé plusieurs méthodes avant de trouver une approche fiable pour Crunchbase. Toutes les méthodes classiques ont échoué à cause du système anti-bot avancé de Cloudflare. La protection de Crunchbase ne se limite pas à une simple vérification d'adresse IP. Cloudflare effectue une analyse approfondie du navigateur , en examinant des dizaines d'indicateurs.
- Modèles de poignée de main TLS
- Comportement d'exécution JavaScript
- Complétude de l'API du navigateur
- Empreintes Canvas et WebGL
- Chronométrage des mouvements de la souris et mise au point de la fenêtre
Même en utilisant des proxys, Cloudflare peut toujours identifier votre empreinte numérique. Les proxys de scraping classiques masquent uniquement votre adresse IP ; ils n'émulent pas le comportement d'un navigateur réel.
Les simples requêtes HTTP n'ont pas fonctionné.
Nous avons commencé par utiliser la bibliothèque requests de Python pour envoyer des requêtes GET simples aux URL de Crunchbase. Chaque tentative a renvoyé une erreur 403 (Accès interdit ). Les serveurs de Crunchbase ont immédiatement détecté la signature du bot et ont refusé de diffuser tout contenu.
L'ajout des en-têtes du navigateur a échoué.
Nous avons ensuite tenté d'ajouter des chaînes User-Agent , des en-têtes Accept et d'autres métadonnées similaires à celles d'un navigateur afin d'imiter un comportement légitime. Malgré nos tests sur plusieurs profils et combinaisons, toutes les requêtes ont été bloquées. Le système de Cloudflare les a toutes interceptées instantanément.
Selenium avec Chrome s'est bloqué sur Cloudflare
Nous sommes passés à Selenium , pensant qu'automatiser un véritable navigateur Chrome résoudrait le problème. Au lieu de cela, nous nous sommes retrouvés systématiquement face à la page de défi « Un instant… » de Cloudflare. L'indicateur de chargement tournait indéfiniment, et même lorsque nous parvenions parfois à passer, nous étions confrontés à un CAPTCHA impossible à résoudre par programmation.
ChromeDriver non détecté était instable
Nous avons ensuite testé Undetected-ChromeDriver , qui modifie Selenium pour le rendre plus humain. Bien que fonctionnel pendant un court laps de temps, nous avons rencontré des problèmes de compatibilité avec certains navigateurs et des erreurs Cloudflare intermittentes. Certaines pages se chargeaient correctement, mais les suivantes étaient bloquées sans raison apparente, ce qui rendait le système beaucoup trop instable pour une utilisation en production.
La solution qui fonctionne : les déverrouilleurs Web
Après avoir testé plusieurs méthodes, nous avons constaté que celle-ci était la seule solution fiable pour un scraping Crunchbase cohérent et évolutif . Web Unlockers résout ce problème en exécutant de véritables navigateurs dans le cloud, avec un fingerprinting complet, l'exécution de JavaScript et la résolution des CAPTCHA. Ils :
- Rotation automatique des adresses IP résidentielles
- Randomiser les empreintes digitales du navigateur
- Exécuter le rendu complet du navigateur (JavaScript, cookies, contenu dynamique)
- Résolvez les défis CAPTCHA et Cloudflare en temps réel
Contrairement aux proxys qui ne font que modifier votre emplacement réseau, les déverrouilleurs Web reproduisent le comportement d'un véritable utilisateur humain, ce qui est ce que Cloudflare attend.
Méthodologie de référence pour le scraping de Crunchbase
Évaluer les performances de l'extraction de données des pages entreprises de Crunchbase, en mesurant le succès des requêtes, le temps de réponse et la fiabilité dans des conditions cohérentes.
- URL cibles : 100 pages d’entreprises Crunchbase (crunchbase.com/organization…)
- Intervalle de requêtes : toutes les 15 minutes
- Délai d'expiration : 60 secondes
- Fréquence d'évaluation : quotidienne
Chaque requête utilise la même configuration pour permettre une comparaison directe entre les exécutions.
Critères de réussite :
Une requête est considérée comme réussie si :
- Le code d'état HTTP est compris entre 200 et 399 , et
- La réponse contient des données d'entreprise Crunchbase valides détectées par des sélecteurs CSS prédéfinis ou des vérifications de contenu .
Les réponses vides ou malformées sont considérées comme des échecs.
Classification des erreurs :
- Délai d'attente dépassé : > 60 s, marqué comme échec
- Erreurs réseau : consignées avec détails
- Erreurs de décodage : échec d'analyse
- Réponses vides ou malformées : contenu manquant
Collecte quotidienne de données :
En fin de journée, les résultats sont agrégés pour calculer le résultat final. Ces indicateurs quantifient la fiabilité et les performances du scraping de Crunchbase.
- taux de réussite quotidien
- Temps de réponse moyen
- Distribution des erreurs
FAQ
L'extraction de données publiques depuis les pages Crunchbase est généralement légale si elle est effectuée de manière responsable et à des fins personnelles ou de recherche. Cependant, l'extraction automatisée de données peut enfreindre les conditions d'utilisation de Crunchbase, notamment pour une utilisation à grande échelle ou commerciale. Consultez leur API officielle avant d'entreprendre tout projet d'extraction de données. 1
Vous pouvez extraire des données publiques sur les entreprises, notamment leur nom, leur chiffre d'affaires, leur profil, leur type d'organisation, leur secteur d'activité et leur adresse électronique de contact. Évitez de collecter des informations personnelles ou privées, telles que les adresses électroniques personnelles ou les profils LinkedIn.
Vous pouvez utiliser l'API Crunchbase lorsque :
* Vous devez collecter des données à grande échelle.
* Vous avez besoin de mises à jour fréquentes (quotidiennes ou horaires).
* Vous prévoyez d'intégrer les données de Crunchbase à des fins commerciales ou de revendre les analyses.
Pour l'analyse concurrentielle, la recherche de startups, la génération de prospects ou la veille stratégique, les données structurées des entreprises sont essentielles. L'utilisation d'un outil d'extraction de données comme Crunchbase permet d'automatiser la collecte et le traitement de grands volumes de données.
Oui, l'API de Crunchbase offre un accès structuré aux données sur les entreprises, les financements et les personnes. Cependant, elle présente des limitations importantes :
* Un abonnement ou une licence de données payante est requis pour un accès à un volume de données plus important ou à l'ensemble des données.
Le nombre de requêtes par minute ou par jour est limité selon votre forfait.
* Certains champs de données, tels que le score de croissance ou le score de chaleur, peuvent ne pas être disponibles dans le forfait gratuit.
Soyez le premier à commenter
Votre adresse courriel ne sera pas publiée. Tous les champs sont obligatoires.