---
title: "Comment extraire des données de Crunchbase avec Python en 2026"
slug: how-to-scrape-crunchbase
date: 2026-02-23T09:51:58+00:00
modified: 2026-05-11T09:02:38+00:00
permalink: https://brightdata.fr/blog/donnees-web/how-to-scrape-crunchbase
type: blog
---

[ Blog ](https://brightdata.fr/blog "Blog") / [Données Web](https://brightdata.fr/blog/donnees-web)







 [Données Web](https://brightdata.fr/blog/donnees-web)

# Comment extraire des données de Crunchbase avec Python en 2026

Apprenez à extraire les données de Crunchbase à l’aide de Python, explorez les informations qui peuvent être collectées et découvrez des solutions pour contourner les mesures anti-scraping.

 20 min de lecture





 [ ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg) ](https://brightdata.com/blog/authors/antonello-zanini)

 [Antonello Zanini

Technical Writer

 ](https://brightdata.com/blog/authors/antonello-zanini)





 ![How to Scrape Crunchbase blog image](https://media.brightdata.fr/2024/10/How-to-Scrape-Crunchbase.svg)





Dans ce guide, vous découvrirez :

- Qu’est-ce qu’un Scraper Crunchbase et comment fonctionne-t-il ?
- Quelles données vous pouvez collecter automatiquement à partir de Crunchbase
- Comment créer un script de scraping Crunchbase avec Python
- Pourquoi vous pourriez avoir besoin d’une solution plus avancée pour scraper le site

C’est parti !

## Qu’est-ce qu’un Scraper Crunchbase ?

Un [scraper Crunchbase](/products/web-scraper/crunchbase) est un outil automatisé conçu pour extraire des données des pages web Crunchbase. Il navigue sur le site, identifie les informations souhaitées et les collecte par [Scraping web](/blog/how-tos/what-is-web-scraping).

Crunchbase utilise des mesures anti-bot et anti-scraping avancées pour protéger ses données. Par conséquent, un Scraper Crunchbase efficace doit inclure des fonctionnalités telles que le rendu JavaScript, la Résolution de CAPTCHA et l’usurpation d’empreinte digitale du navigateur.

## Quelles données extraire de Crunchbase

Vous trouverez ci-dessous une liste des données que vous pouvez récupérer automatiquement à partir de Crunchbase via le Scraping web :

- **Informations sur l’entreprise**: nom, description, secteur d’activité, emplacement du siège social, date de création, statut (par exemple, active, acquise), etc.
- **Données de financement**: montant total du financement, cycles de financement, investisseurs, etc.
- **Personnes clés**: fondateurs, dirigeants, membres, rôles et titres, etc.
- **Produits et services**: descriptions des produits, catégories de produits ou services proposés, etc.
- **Acquisitions et fusions**: détails sur les entreprises acquises, dates et conditions des acquisitions, etc.
- **Données financières et relatives au marché**: estimations du chiffre d’affaires, nombre d’employés, etc.
- **Actualités et événements**: communiqués de presse, étapes ou événements importants, etc.
- **Concurrents**: liste des entreprises concurrentes, etc.

## Comment créer un Scraper Crunchbase en Python

Dans cette section du tutoriel, vous apprendrez à créer un Scraper Crunchbase à l’aide de Python. L’objectif est de développer un script capable de collecter automatiquement des données à partir de la [page Bright Data Crunchbase](https://www.crunchbase.com/organization/brightdata):

![Bright Data's page on Crunchbase](https://media.brightdata.fr/2024/10/Bright-Datas-page-on-Crunchbase.gif)Suivez les étapes ci-dessous pour découvrir comment scraper Crunchbase avec Python !

### Étape n° 1 : créer un projet Python

Tout d’abord, assurez-vous que Python 3+ est installé sur votre ordinateur. Si ce n’est pas le cas, [téléchargez-le depuis ](https://www.python.org/downloads/)le site officiel et suivez les instructions.

Créez un répertoire pour votre Scraper Python Crunchbase :

```none
`mkdir crunchbase-scraper`
```

Le dossier `crunchbase-scraper` contiendra votre [bot de scraping](/blog/how-tos/what-is-a-scraping-bot).

Ouvrez le dossier du projet dans votre IDE Python préféré, tel que [PyCharm Community Edition](https://www.jetbrains.com/pycharm/download/#section=windows) ou [Visual Studio Code avec l’extension Python](https://code.visualstudio.com/docs/languages/python).

Ensuite, créez un fichier scraper.py dans le dossier du projet. Ce fichier contiendra la logique de scraping Crunchbase.

Maintenant, initialisez un [environnement virtuel](https://docs.python.org/3/library/venv.html) Python. Si vous êtes un utilisateur macOS ou Linux, exécutez :

```none
`python3 -m venv env`
```

De manière équivalente, sous Windows, exécutez :

```none
`python -m venv env`
```

Cela ajoutera un répertoire `env` à votre projet.

À présent, votre projet devrait avoir la structure suivante :

![The structure of your Crunchbase scraper](https://media.brightdata.fr/2024/10/image-46.png)Activez l’environnement virtuel à l’aide de cette commande :

```none
`source env/bin/activate`
```

Ou, sous Windows :

```none
`envScriptsactivate`
```

Parfait ! Vous disposez désormais d’un projet Python dans lequel vous pouvez installer des dépendances locales.

N’oubliez pas que vous pouvez lancer votre script avec :

```none
`python3 Scraper.py`
```

Ou, sous Windows :

```none
`python Scraper.py`
```

### Étape n° 2 : déterminer et installer les bibliothèques de scraping

Vous devez maintenant déterminer quelles bibliothèques de scraping sont les mieux adaptées pour extraire des données de Crunchbase. Commencez par envoyer une requête HTTP GET à la [page web cible](https://www.crunchbase.com/organization/brightdata) à l’aide d’un client HTTP de bureau. Voici le résultat que vous obtiendrez :

![The result of the website on the desktop HTTP client](https://media.brightdata.fr/2024/10/image-45.png)Comme vous pouvez le constater, Crunchbase bloque votre requête, même si vous utilisez des en-têtes de navigateur réalistes. En d’autres termes, vous aurez besoin d’un outil d’automatisation de navigateur pour scraper efficacement Crunchbase. Pour en savoir plus, consultez notre article sur les [meilleurs navigateurs headless](/blog/web-data/best-headless-browsers).

Pour Python, [Selenium](https://www.selenium.dev/) est l’un des outils d’automatisation de navigateur sans interface utilisateur les plus populaires. Plus précisément, il vous permet de demander à un navigateur d’effectuer des interactions spécifiques et [de scraper des données à partir de pages dynamiques](/blog/how-tos/scrape-dynamic-websites-python).

Pour installer Selenium, utilisez le paquet pip [`selenium`](https://pypi.org/project/selenium/). Dans un environnement virtuel Python activé, exécutez la commande suivante :

```none
`pip install -U selenium`
```

Ensuite, importez Selenium dans votre fichier scraper.py avec la ligne suivante :

```none
`from selenium import webdriver`
```

Parfait ! Vous disposez désormais de tout ce dont vous avez besoin pour effectuer du Scraping web sur Crunchbase.

### Étape n° 3 : visitez la page cible

Initialisez une instance Chrome WebDriver et utilisez la méthode [`get()`](https://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.get) pour demander au navigateur contrôlé de visiter la page souhaitée :

```none
driver = webdriver.Chrome()

url = "https://www.crunchbase.com/organization/brightdata"

driver.get(url)
```

N’oubliez pas ensuite de fermer le WebDriver et de libérer les ressources du navigateur à l’aide de :

```none
`driver.quit()`
```

À présent, votre script de scraping Crunchbase contient :

```none
from selenium import webdriver

# initialise le pilote pour contrôler une instance Chrome

# en mode headed

driver = webdriver.Chrome()

# navigue vers la page Crunchbase souhaitée

url = "https://www.crunchbase.com/organization/brightdata"

driver.get(url)

# logique de scraping...

# fermer le pilote et libérer les ressources du navigateur

driver.quit()
```

Si vous l’exécutez, vous verrez la page suivante s’afficher pendant une fraction de seconde avant que le script ne se termine :

![The page you will see before the script terminates](https://media.brightdata.fr/2024/10/image-44.png)Le message « Chrome est contrôlé par un logiciel de test » indique que Selenium fonctionne comme prévu sur Chrome.

En général, les navigateurs dans les scripts de scraping Selenium sont lancés en mode headless afin d’économiser des ressources. Malheureusement, Crunchbase dispose d’un système avancé de détection anti-bot qui bloque les navigateurs headless. Vous devez donc garder le navigateur en mode headed. Vous pouvez également essayer d’utiliser [Playwright Stealth](/blog/how-tos/avoid-bot-detection-with-playwright-stealth) pour contourner ces mécanismes de détection.

### Étape n° 4 : gérer la fenêtre contextuelle des cookies

Si vous êtes un utilisateur européen, la page affichera la fenêtre contextuelle suivante concernant les cookies après quelques secondes :

![Cookie popup on Crunchbase](https://media.brightdata.fr/2024/10/image-43.png)Si vous ne cliquez pas sur le bouton « Accepter tout », il ne sera pas possible d’interagir avec la page. Inspectez le bouton :

![Inspecting the "Accept All" button](https://media.brightdata.fr/2024/10/image-42.png)Vous pouvez le sélectionner à l’aide du sélecteur CSS `#onetrust-accept-btn-handler`.

Maintenant, écrivez une fonction qui attend jusqu’à 60 secondes que le bouton « Tout accepter » apparaisse sur la page et soit cliquable, puis cliquez dessus :

```none
def handle_cookie_banner(driver, seconds=60):

  try:

    # attendre le nombre de secondes donné pour que le bouton « Tout accepter »

    # de la bannière de cookies apparaisse sur la page

    accept_button = WebDriverWait(driver, seconds).until(

      EC.element_to_be_clickable((By.CSS_SELECTOR, "#onetrust-accept-btn-handler"))

    )

    # cliquer sur la bannière via JavaScript pour éviter

    # les erreurs ElementClickInterceptedException

    driver.execute_script("arguments[0].click();", accept_button)

    print("Bouton « Accepter tout » cliqué")

  except:

    print("Bouton « Accepter tout » introuvable dans les {seconds} secondes")
```

Remarque :

1. Le bloc `try ... except` est nécessaire car la fenêtre contextuelle des cookies peut ne pas être présente sur la page. Dans ce cas, `WebDriverWait déclenchera `une `exception NoSuchElementException`, qui sera interceptée par `except`.
2. « Accepter tout » est cliqué via JavaScript et non via la méthode `click()`. La raison en est que le bouton HTML apparaît lentement avec une animation en fondu. Ainsi, si vous essayez de cliquer dessus avec `click()`, vous risquez d’obtenir une `ElementClickInterceptedException`.

Pour fonctionner, la fonction ci-dessus nécessite les importations suivantes :

```none
from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.by import By
```

Vous pouvez désormais gérer la fenêtre contextuelle des cookies en appelant :

```none
`handle_cookie_banner(driver)`
```

Fantastique ! Préparez-vous à commencer à extraire les données de la page.

### Étape n° 5 : extraire les informations « À propos

La première information à extraire dans la carte « Résumé » est la description « À propos » de l’entreprise :

![The summary card of the company](https://media.brightdata.fr/2024/10/image-41.png)Inspectez l’élément HTML « À propos » :

![Inspecting the HTML of the "about" element](https://media.brightdata.fr/2024/10/image-40.png)Notez que vous pouvez le sélectionner à l’aide du sélecteur CSS ci-dessous :

```none
`profile-section description-card`
```

Utilisez la méthode [`find_element()`](https://selenium-python.readthedocs.io/locating-elements.html) pour appliquer le sélecteur CSS à la page. Ensuite, extrayez le texte à l’intérieur du nœud avec l’attribut `text`:

```none
about_node = driver.find_element(By.CSS_SELECTOR, "profile-section description-card")

about = about_node.text
```

La variable about contiendra désormais :

```none
`« La plateforme de données Web n° 1 au monde »`
```

Et voilà !

### Étape n° 6 : inspecter la structure de la page

Concentrez-vous maintenant sur les informations contenues dans la carte « Détails » de la page :

![The details card on the company page](https://media.brightdata.fr/2024/10/image-39.png)Si vous inspectez cette section, vous remarquerez qu’il n’existe pas de moyen simple de sélectionner les éléments HTML à partir desquels extraire les données :

![Inspecting the details card](https://media.brightdata.fr/2024/10/image-38.png)La plupart de ces nœuds ont des attributs HTML aléatoires qui sont probablement générés au moment de la compilation. Ces attributs changent après chaque déploiement, vous ne pouvez donc pas vous y fier pour sélectionner les nœuds. De plus, bon nombre de ces éléments ne sont pas marqués avec des classes ou des identifiants uniques.

Une approche efficace pour sélectionner les éléments qui vous intéressent consiste à vous concentrer sur leurs étiquettes. Par exemple, vous pouvez sélectionner le nœud `fields-card` contenant les informations sur les secteurs d’activité en identifiant quel `fields-card` possède un nœud `label-with-info` contenant la chaîne « Industries ».

Cette technique sera utilisée pour extraire les données de cette section. Il est donc logique de centraliser la logique dans une fonction :

```none
def find_parent_node_based_on_child_node_text(parent_nodes_selector, child_node_selector, text):

  # sélectionner tous les nœuds parents

  parent_nodes = driver.find_elements(By.CSS_SELECTOR, parent_nodes_selector)

  # parcourir les nœuds parents pour trouver celui

  # dont le nœud enfant spécifique contient le texte souhaité

  for parent_node in parent_nodes:

    try:

      # obtenir le nœud enfant spécifique dans le nœud parent actuel

      child_node = parent_node.find_element(By.CSS_SELECTOR, child_node_selector)

      # vérifier s'il contient le texte souhaité

      if text.upper() in child_node.text.upper():

          return parent_node

    except:

      continue

  return None
```

Utilisez la fonction ci-dessus pour sélectionner le nœud « Industries » `de la carte de champs` avec :

```none
`industries_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Industries")`
```

Super ! Le scraping de Crunchbase sera désormais beaucoup plus facile.

### Étape n° 7 : extraire les informations sur les entreprises

Inspectez le nœud « Industries » :

![Inspecting the industry node](https://media.brightdata.fr/2024/10/image-37.png)Il stocke les secteurs dans lesquels l’entreprise opère dans des nœuds chips-container a. Sélectionnez-les tous, parcourez-les et extrayez-en les données :

```none
industries_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Industries")

industries_nodes = industries_parent_node.find_elements(By.CSS_SELECTOR, "chips-container a")

industries = []

for industry_node in industries_nodes:

  industries.append(industry_node.text)
```

Concentrons-nous maintenant sur l’élément « Date de création » :

![The "founded date" element](https://media.brightdata.fr/2024/10/image-36.png)Dans ce cas, la logique de scraping est plus simple, car vous n’avez qu’à extraire le texte de l’élément `field-formatter` à l’intérieur du nœud parent `fields-card li`:

```none
founded_date_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Founded Date")

founded_date_node = founded_date_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

founded_date = founded_date_node.text
```

La même logique peut être appliquée à la plupart des autres éléments relatifs aux détails de l’entreprise :

```none
company_type_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Company Type")

company_type_node = company_type_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

company_type = company_type_node.text

operating_status_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Operating Status")

operating_status_node = operating_status_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

operating_status = operating_status_node.text

headquarters_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Régions du siège social")

headquarters_node = headquarters_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

headquarters = headquarters_node.text

legal_name_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Nom légal")

legal_name_node = legal_name_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

legal_name = legal_name_node.text

contact_email_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Contact Email")

contact_email_node = contact_email_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

contact_email = contact_email_node.text

phone_number_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Numéro de téléphone")

phone_number_node = phone_number_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

phone_number = phone_number_node.text
```

Un autre nœud qui nécessite une attention particulière est l’élément « Fondateurs » :

![The founders element](https://media.brightdata.fr/2024/10/image-35.png)Dans ce cas, vous devez itérer sur les nœuds `identifier-multi-formatter` a et en extraire les données :

```none
founders_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Fondateurs")

founders_nodes = founders_parent_node.find_elements(By.CSS_SELECTOR, "identifier-multi-formatter a")

founders = []

for founders_node in founders_nodes:

  founders.append(founders_node.text)
```

Enfin, examinez le nœud de description à la fin de la section « Détails » :

![description node at the end of the “Details” section](https://media.brightdata.fr/2024/10/image-34.png)Récupérez ces données avec :

```none
description_node = driver.find_element(By.CSS_SELECTOR, « section-card description-card »)

description = description_node.text
```

Incroyable ! Votre Scraper Crunchbase est presque terminé.

### Étape n° 8 : récupérez le tableau des produits et services

Une autre information qui mérite d’être collectée est la liste des produits et services proposés par l’entreprise :

![list of products and services offered by the scraped company](https://media.brightdata.fr/2024/10/image-33.png)Sélectionnez la section « Produits et services » à l’aide de la fonction définie précédemment :

```none
`products_parent_node = find_parent_node_based_on_child_node_text("profile-section", ".section-title", "Produits et services")`
```

Ensuite, scrapez les données du tableau avec :

```none
products = []

for row in products_table_rows:

  # extraire le nom et la description des colonnes de chaque ligne

  name = row.find_element(By.CSS_SELECTOR, "td:nth-child(1)").text

  description = row.find_element(By.CSS_SELECTOR, "td:nth-child(2)").text

  product = {

    "name": name,

    "description": description

  }

  products.append(product)
```

Impressionnant ! La logique de scraping de Crunchbase est terminée.

### Étape n° 9 : exporter les données extraites

Remplissez un dictionnaire d’entreprise avec les données extraites :

```none
company = {

  "about": about,

  "industries": industries,

  "founded_date": founded_date,

  "company_type": company_type,

  « operating_status » : operating_status,

  « headquarters » : headquarters,

  « founders » : founders,

  « email » : contact_email,

  « phone » : phone_number,

  « description » : description,

  « products » : products

}
```

Ensuite, exportez-le dans un fichier `company.json`:

```none
with open("company.json", "w") as json_file:

  json.dump(company, json_file, indent=4)
```

Tout d’abord, [`open()`](https://docs.python.org/3/library/functions.html#open) crée un fichier de sortie `company.json`. Ensuite, [`json.dump()`](https://docs.python.org/3/library/json.html) transforme company en sa représentation JSON et l’écrit dans le fichier de sortie.

N’oubliez pas d’importer [json](https://docs.python.org/3/library/json.html) depuis la bibliothèque standard Python :

```none
`import json`
```

### Étape n° 10 : assembler le tout

Voici le fichier `scraper.py` final :

```none
from selenium import webdriver

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.common.by import By

import json

def find_parent_node_based_on_child_node_text(parent_nodes_selector, child_node_selector, text):

  # sélectionner tous les nœuds parents

  parent_nodes = driver.find_elements(By.CSS_SELECTOR, parent_nodes_selector)

  # parcourir les nœuds parents pour trouver celui

  # dont le nœud enfant spécifique contient le texte souhaité

  for parent_node in parent_nodes:

    try:

      # obtenir le nœud enfant spécifique dans le nœud parent actuel

      child_node = parent_node.find_element(By.CSS_SELECTOR, child_node_selector)

      # vérifier s'il contient le texte souhaité

      if text.upper() in child_node.text.upper():

          return parent_node

    except:

      continue

  return None

def handle_cookie_popup(driver, seconds=60):

  try:

    # attendre le nombre de secondes indiqué pour que le bouton « Accepter tout »

    # de la fenêtre contextuelle des cookies apparaisse sur la page

    accept_button = WebDriverWait(driver, seconds).until(

      EC.element_to_be_clickable((By.CSS_SELECTOR, "#onetrust-accept-btn-handler"))

    )

    # cliquer sur la fenêtre contextuelle via JavaScript pour éviter

    # les erreurs ElementClickInterceptedException

    driver.execute_script("arguments[0].click();", accept_button)

    print("Bouton « Accepter tout » cliqué")

  except:

    print("Bouton « Accepter tout » introuvable dans les {seconds} secondes")

# initialiser le pilote pour contrôler une instance Chrome

# en mode headed

driver = webdriver.Chrome()

# naviguer vers la page Crunchbase souhaitée

url = "https://www.crunchbase.com/organization/brightdata"

driver.get(url)

# gérer la fenêtre contextuelle des cookies, si présente

handle_cookie_popup(driver)

# logique de scraping

about_node = driver.find_element(By.CSS_SELECTOR, "profile-section description-card")

about = about_node.text

industries_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Industries")

industries_nodes = industries_parent_node.find_elements(By.CSS_SELECTOR, "chips-container a")

industries = []

for industry_node in industries_nodes:

  industries.append(industry_node.text)

fondée_date_parent_node = trouver_parent_node_basé_sur_enfant_node_texte("fields-card li", "label-with-info", "Date de fondation")

fondée_date_node = fondée_date_parent_node.trouver_élément(By.CSS_SELECTOR, "field-formatter")

fondée_date = fondée_date_node.texte

company_type_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Company Type")

company_type_node = company_type_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

company_type = company_type_node.text

operating_status_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Statut opérationnel")

operating_status_node = operating_status_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

operating_status = operating_status_node.text

headquarters_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Régions du siège social")

headquarters_node = headquarters_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

headquarters = headquarters_node.text

founders_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Fondateurs")

founders_nodes = founders_parent_node.find_elements(By.CSS_SELECTOR, "identifier-multi-formatter a")

founders = []

for founders_node in founders_nodes:

  founders.append(founders_node.text)

legal_name_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Legal Name")

legal_name_node = legal_name_parent_node.find_element(By.CSS_SELECTOR, "field-formatter")

legal_name = legal_name_node.text

contact_email_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Contact Email")

contact_email_node = contact_email_parent_node.find_element(By.CSS_SELECTOR, « field-formatter »)

contact_email = contact_email_node.text

phone_number_parent_node = find_parent_node_based_on_child_node_text(« fields-card li », « label-with-info », « Phone Number »)

phone_number_node = phone_number_parent_node.find_element(By.CSS_SELECTOR, « field-formatter »)

phone_number = phone_number_node.text

description_node = driver.find_element(By.CSS_SELECTOR, « section-card description-card »)

description = description_node.text

products_parent_node = find_parent_node_based_on_child_node_text("profile-section", ".section-title", "Produits et services")

products_table_rows = products_parent_node.find_elements(By.CSS_SELECTOR, "table tbody tr")

# extraire le tableau des produits

products = []

for row in products_table_rows:

  # extraire le nom et la description des colonnes de chaque ligne

  name = row.find_element(By.CSS_SELECTOR, "td:nth-child(1)").text

  description = row.find_element(By.CSS_SELECTOR, "td:nth-child(2)").text

  product = {

    "name": name,

    "description": description

  }

  products.append(product)

# remplir un dictionnaire avec les données récupérées

company = {

  "about": about,

  "industries": industries,

  "founded_date": founded_date,

  « type_entreprise » : type_entreprise,

  « statut_opérationnel » : statut_opérationnel,

  « siège » : siège,

  « fondateurs » : fondateurs,

  « e-mail » : e-mail_contact,

  « téléphone » : numéro_de_téléphone,

  « description » : description,

  « produits » : produits

}

# exporter les données extraites vers un fichier JSON

with open("company.json", "w") as json_file:

  json.dump(company, json_file, indent=4)

# fermer le pilote et libérer les ressources du navigateur

driver.quit()
```

En un peu plus de 100 lignes de code, vous venez de créer un Scraper Crunchbase en Python !

Lancez le script à l’aide de la commande suivante :

```none
`python3 script.py`
```

Ou, sous Windows :

```none
`python script.py`
```

Un fichier `company.json` apparaîtra dans le dossier de votre projet. Ouvrez-le et vous verrez :

```none
{

    "about": "La plateforme de données Web n° 1 au monde",

    "industries": [

        "Business Intelligence",

        "Services de données dans le cloud",

        "Informatique",

        "Collecte et étiquetage de données",

        "Technologies de l'information",

        « Infrastructure informatique »,

        « Sécurité réseau »,

        « SaaS »,

        « Logiciels »

    ],

    « founded_date » : « 2014 »,

    « type_d'entreprise » : « À but lucratif »,

    « statut_opérationnel » : « Actif »,

    « siège_social » : « Région métropolitaine de New York, côte Est, nord-est des États-Unis »,

    « fondateurs » : [

        « Derry Shribman »,

        « Ofer Vilenski »

    ],

    « email » : « <a class="__cf_email__" data-cfemail="bccfddd0d9cffcdeced5dbd4c8d8ddc8dd92dfd3d1" href="/cdn-cgi/l/email-protection">[email protected]</a> »,

    « phone » : « (888) 538-9204 »,

    « description » : « Proxys qui masquent votre emplacement et votre adresse IP, vous permettant d'accéder anonymement à du contenu web public sans être détecté ou bloqué. »,

    « produits » : [

        {

            « nom » : « Proxys résidentiels »,

            « description » : « Un réseau de plus de 400 millions par mois IPs résidentielles réelles provenant de 195 pays, permettant d'accéder à n'importe quel contenu web tout en évitant les interdictions d'IP et les CAPTCHA. »

        },

        {

            "name": "Proxys de centres de données",

            "description": "Un réseau de plus de 770 000 adresses IP de centres de données offrant une couverture mondiale et la possibilité de cibler des pays et des villes spécifiques pour une collecte de données fiable."

        },

        {

            "name": "Proxys mobiles",

            "description": "Un réseau de plus de 7 millions d'adresses IP mobiles 3G/4G réelles provenant du monde entier, permettant aux utilisateurs de voir le Web comme de véritables utilisateurs mobiles et de contourner les blocages de localisation IP et les CAPTCHA."

        },

        {

            "name": "Proxy ISP",

            "description": "Plus de 700 000 adresses IP résidentielles statiques attribuées par les FAI, offrant des sessions longues et une utilisation exclusive aussi longtemps que nécessaire."

        },

        {

            "name": "Proxys rotatifs",

            "description": "Proxys qui remplacent constamment votre adresse IP pour éviter la détection et le blocage, avec une disponibilité de 99,99 % et une gestion facile grâce à un gestionnaire de proxys."

        },

        {

            "name": "Proxys anonymes",

            "description": "Proxys qui masquent votre emplacement et votre adresse IP, vous permettant d'accéder anonymement à du contenu web public sans être détecté ni bloqué."

        }

    ]

}
```

Ce sont les données disponibles sur la page Crunchbase de la société Bright Data.

Et voilà ! Vous venez d’apprendre à effectuer du Scraping web sur Crunchbase à l’aide de Python.

## Débloquer facilement les données Crunchbase

Crunchbase fournit une multitude de données précieuses, mais prend également des mesures importantes pour les protéger contre les Scrapers et les bots automatisés. Lorsque vous interagissez avec le site à l’aide d’un navigateur sans interface graphique ou que vous effectuez certaines actions, vous pouvez rencontrer des pages [`403 Forbidden`](/faqs/proxy-errors/403-status-error-how-to-avoid) ou des CAPTCHA.

Dans un premier temps, vous pouvez vous référer à notre guide sur [la manière de contourner les CAPTCHA dans Python](/blog/web-data/bypass-captchas-with-python). Cependant, Crunchbase utilise des solutions anti-scraping avancées supplémentaires qui peuvent encore entraîner des blocages.

Sans les bons outils, le scraping de Crunchbase peut rapidement devenir une expérience lente et frustrante. La meilleure solution est [l’API Crunchbase Scraper](/products/web-scraper/crunchbase) dédiée de Bright Data. Récupérez les données de Crunchbase sans être bloqué !

## Conclusion

Dans ce tutoriel étape par étape, vous avez appris ce qu’est un Scraper Crunchbase et les types de données qu’il peut récupérer. Vous avez également vu comment créer un script Python pour scraper Crunchbase afin d’obtenir des données générales sur les entreprises, ce qui n’a nécessité qu’environ 150 lignes de code.

Le problème est que Crunchbase adopte des mesures strictes contre les bots et les scripts automatisés. Les CAPTCHA, les empreintes digitales des navigateurs et les interdictions d’IP ne sont que quelques-unes des défenses utilisées pour empêcher le scraping. Oubliez tous ces défis grâce à notre API Crunchbase Scraper.

Si le Scraping web ne vous convient pas, mais que vous êtes toujours intéressé par les données Crunchbase, explorez nos [Jeux de données Crunchbase](/products/datasets/crunchbase)!

Discutez avec l’un de nos experts pour découvrir laquelle des solutions Bright Data correspond le mieux à vos besoins.



Contacter ventesEssai gratuit![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Table des matières







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Comment+extraire+des+donn%C3%A9es+de+Crunchbase+avec+Python+en+2026&u=https://brightdata.fr/blog/donnees-web/how-to-scrape-crunchbase) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Comment+extraire+des+donn%C3%A9es+de+Crunchbase+avec+Python+en+2026&url=https://brightdata.fr/blog/donnees-web/how-to-scrape-crunchbase) [ ](http://www.reddit.com/submit?title=Comment+extraire+des+donn%C3%A9es+de+Crunchbase+avec+Python+en+2026&url=https://brightdata.fr/blog/donnees-web/how-to-scrape-crunchbase)







##  Vous pourriez aussi être intéressé par

 [ ![OpenHuman with Bright Data](https://media.brightdata.fr/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.fr/blog/ai/openhuman-with-bright-data "Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data")

 [AI



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data

Intégrez le CLI Bright Data avec OpenHuman pour permettre un accès web prêt pour la production et la collecte de données pour les agents IA.



 09-Sep-2026

 14 min de lecture

 ](https://brightdata.fr/blog/ai/openhuman-with-bright-data)

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.fr/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax "Scraping Web Multimodal avec MiniMax")

 [Données Web



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Scraping Web Multimodal avec MiniMax

Associez Bright Data Web Unlocker avec la vision MiniMax M3 pour extraire des données structurées à partir d’images et de captures d’écran de pages web.



 09-Sep-2026

 5 min de lecture

 ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.fr/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.fr/blog/ai/best-cli-tools-for-codex "Les 10 meilleurs outils CLI pour Codex en 2026 – Testés & Classés")

 [AI



 ![Daniel Shashko](https://media.brightdata.fr/2022/04/Daniel-Shashko-2-50x50.png)

Daniel Shashko

Web Data &amp; AI Expert





### Les 10 meilleurs outils CLI pour Codex en 2026 – Testés &amp; Classés

Les 10 outils CLI qui rendent Codex plus rapide et plus capable, en commençant par le Bright Data CLI pour un accès web réel depuis l’intérieur du sandbox.



 06-Sep-2026

 24 min de lecture

 ](https://brightdata.fr/blog/ai/best-cli-tools-for-codex)
