---
title: "Como extrair dados do Crunchbase com Python em 2026"
slug: how-to-scrape-crunchbase
date: 2026-02-23T09:52:11+00:00
modified: 2026-02-23T09:52:12+00:00
permalink: https://brightdata.com.br/blog/dados-do-site/how-to-scrape-crunchbase
type: blog
---

[ Blog ](https://brightdata.com.br/blog "Blog") / [Dados do site](https://brightdata.com.br/blog/dados-do-site)







 [Dados do site](https://brightdata.com.br/blog/dados-do-site)

# Como extrair dados do Crunchbase com Python em 2026

Aprenda a extrair dados do Crunchbase usando Python, explore quais informações podem ser coletadas e descubra soluções para contornar medidas anti-extração.

 20 min de leitura





 [ ![Antonello Zanini](https://media.brightdata.com.br/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.com.br/2024/10/How-to-Scrape-Crunchbase.svg)





Neste guia, você verá:

- O que é um Scraper do Crunchbase e como ele funciona
- Quais dados você pode coletar automaticamente do Crunchbase
- Como criar um script de scraping do Crunchbase com Python
- Por que você pode precisar de uma solução mais avançada para fazer o scraping do site

Vamos começar!

## O que é um Scraper do Crunchbase?

[Um scraper do Crunchbase](/products/web-scraper/crunchbase) é uma ferramenta automatizada projetada para extrair dados das páginas da web do Crunchbase. Ele navega pelo site, identifica as informações desejadas e as coleta por meio de [Scraping de dados](/blog/how-tos/what-is-web-scraping).

O Crunchbase emprega medidas avançadas anti-bot e anti-scraping para proteger seus dados. Como resultado, um Scraper eficaz do Crunchbase deve incluir recursos como renderização JavaScript, Resolução de CAPTCHA e falsificação de impressão digital do navegador.

## Quais dados extrair do Crunchbase

Abaixo está uma lista dos dados que você pode recuperar automaticamente do Crunchbase por meio do Scraping de dados:

- **Informações da empresa**: nome, descrição, setor, localização da sede, data de fundação, status (por exemplo, ativa, adquirida) e muito mais
- **Dados de financiamento**: valor total do financiamento, rodadas de financiamento, investidores e muito mais
- **Pessoas-chave**: fundadores, executivos, membros, funções e cargos e muito mais
- **Produtos e serviços**: descrições de produtos, categorias de produtos ou serviços oferecidos e muito mais
- **Aquisições e fusões**: detalhes de quaisquer empresas adquiridas, datas e termos das aquisições e muito mais
- **Dados financeiros e de mercado**: estimativas de receita, número de funcionários e muito mais
- **Notícias e eventos**: comunicados à imprensa, marcos ou eventos significativos e muito mais
- **Concorrentes**: lista de empresas concorrentes e muito mais

## Como criar um Scraper do Crunchbase em Python

Nesta seção do tutorial, você aprenderá como criar um Scraper do Crunchbase usando Python. O objetivo é desenvolver um script que possa coletar automaticamente dados da [página](https://www.crunchbase.com/organization/brightdata) do [Bright Data Crunchbase](https://www.crunchbase.com/organization/brightdata):

![Bright Data's page on Crunchbase](https://media.brightdata.com.br/2024/10/Bright-Datas-page-on-Crunchbase.gif)Siga as etapas abaixo para ver como fazer o scraping do Crunchbase com Python!

### Etapa 1: crie um projeto Python

Primeiro, certifique-se de que você tem o Python 3+ instalado em sua máquina. Caso contrário, [baixe-o do ](https://www.python.org/downloads/)site oficial e siga as instruções.

Crie um diretório para o seu Scraper Python Crunchbase:

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

A pasta `crunchbase-scraper` conterá seu [bot de raspagem](/blog/how-tos/what-is-a-scraping-bot).

Abra a pasta do projeto em seu IDE Python favorito, como [PyCharm Community Edition](https://www.jetbrains.com/pycharm/download/#section=windows) ou [Visual Studio Code com a extensão Python](https://code.visualstudio.com/docs/languages/python).

Em seguida, crie um arquivo scraper.py dentro da pasta do projeto. Esse arquivo conterá a lógica de raspagem do Crunchbase.

Agora, inicialize um [ambiente virtual](https://docs.python.org/3/library/venv.html) Python. Se você é um usuário macOS ou Linux, execute:

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

Da mesma forma, no Windows, execute:

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

Isso adicionará um diretório `env` ao seu projeto.

Agora, seu projeto deve ter a seguinte estrutura:

![The structure of your Crunchbase scraper](https://media.brightdata.com.br/2024/10/image-46.png)Ative o ambiente virtual com este comando:

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

Ou, no Windows:

```none
`envScriptsactivate`
```

Ótimo! Agora você tem um projeto Python onde pode instalar dependências locais.

Lembre-se de que você pode iniciar seu script com:

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

Ou, no Windows:

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

### Etapa 2: determine e instale as bibliotecas de scraping

Agora você precisa descobrir quais bibliotecas de scraping são mais adequadas para extrair dados do Crunchbase. Comece fazendo uma solicitação GET HTTP para a [página da web de destino](https://www.crunchbase.com/organization/brightdata) usando um cliente HTTP para desktop. Aqui está o resultado que você obterá:

![The result of the website on the desktop HTTP client](https://media.brightdata.com.br/2024/10/image-45.png)Como você pode ver, o Crunchbase bloqueia sua solicitação, mesmo que você use cabeçalhos de navegador realistas. Em outras palavras, você precisará de uma ferramenta de automação de navegador para fazer o scraping do Crunchbase de maneira eficaz. Saiba mais em nosso artigo sobre os [melhores navegadores headless](/blog/web-data/best-headless-browsers).

Para Python, [o Selenium](https://www.selenium.dev/) é uma das ferramentas de automação de navegador headless mais populares. Mais especificamente, ele permite que você instrua um navegador a realizar interações específicas e [extrair dados de páginas dinâmicas](/blog/how-tos/scrape-dynamic-websites-python).

Para instalar o Selenium, use o pacote pip [`selenium`](https://pypi.org/project/selenium/). Em um ambiente virtual Python ativado, execute o seguinte comando:

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

Em seguida, importe o Selenium no seu arquivo scraper.py com a seguinte linha:

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

Ótimo! Agora você tem tudo o que precisa para realizar o Scraping de dados no Crunchbase.

### Etapa 3: acesse a página de destino

Inicialize uma instância do Chrome WebDriver e use o método [`get()`](https://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.get) para instruir o navegador controlado a visitar a página desejada:

```none
driver = webdriver.Chrome()

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

driver.get(url)
```

Em seguida, não se esqueça de fechar o WebDriver e liberar os recursos do navegador com:

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

Atualmente, seu script de Scraper do Crunchbase conterá:

```none
from selenium import webdriver

# inicialize o driver para controlar uma instância do Chrome

# no modo headed

driver = webdriver.Chrome()

# navegue até a página desejada do Crunchbase

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

driver.get(url)

# lógica de raspagem...

# fechar o driver e liberar os recursos do navegador

driver.quit()
```

Se você executá-lo, verá a seguinte página por uma fração de segundo antes que o script seja encerrado:

![The page you will see before the script terminates](https://media.brightdata.com.br/2024/10/image-44.png)A mensagem “O Chrome está sendo controlado por um software de teste” indica que o Selenium está operando no Chrome conforme o esperado.

Normalmente, os navegadores nos scripts de scraping do Selenium são iniciados no modo headless para economizar recursos. Infelizmente, o Crunchbase possui um sistema avançado de detecção anti-bot que bloqueia navegadores headless. Portanto, você precisa manter o navegador no modo headed. Como alternativa, você pode tentar usar [o Playwright Stealth](/blog/how-tos/avoid-bot-detection-with-playwright-stealth) para contornar esses mecanismos de detecção.

### Etapa 4: lidar com o pop-up de cookies

Se você for um usuário europeu, a página exibirá o seguinte pop-up de cookies após alguns segundos:

![Cookie popup on Crunchbase](https://media.brightdata.com.br/2024/10/image-43.png)Se você não clicar no botão “Aceitar tudo”, não será possível interagir com a página. Inspecione o botão:

![Inspecting the "Accept All" button](https://media.brightdata.com.br/2024/10/image-42.png)Veja que você pode selecioná-lo com o seletor CSS `#onetrust-accept-btn-handler`.

Agora, escreva uma função que aguarde até 60 segundos para que o botão “Aceitar tudo” apareça na página e fique clicável e, em seguida, clique nele:

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

  tente:

    # aguarde o número de segundos especificado para que o botão “Aceitar tudo”

    # do banner de cookies apareça na página

    accept_button = WebDriverWait(driver, seconds).until(

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

    )

    # clicar no banner via JavaScript para evitar

    # erros ElementClickInterceptedException

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

    print("Botão 'Aceitar tudo' clicado")

  except:

    print("Botão 'Aceitar tudo' não encontrado em {segundos} segundos")
```

Observe que:

1. O bloco `try ... except` é necessário porque o pop-up do cookie pode não estar na página. Nesse caso, `o WebDriverWait irá `gerar uma `NoSuchElementException`, que será capturada pelo `except`.
2. “Aceitar tudo” é clicado via JavaScript e não através do método `click()`. O motivo é que o botão HTML aparece lentamente com uma animação de fade in. Portanto, se você tentar clicar nele com `click()`, poderá receber uma `ElementClickInterceptedException`.

Para funcionar, a função acima requer as seguintes importações:

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

from selenium.webdriver.support import expected_conditions as EC

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

Agora você pode lidar com o pop-up de cookies chamando:

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

Fantástico! Prepare-se para começar a extrair dados da página.

### Etapa 5: extraia as informações sobre a empresa

A primeira informação a ser extraída no cartão “Resumo” é a descrição “Sobre” da empresa:

![The summary card of the company](https://media.brightdata.com.br/2024/10/image-41.png)Inspecione o elemento HTML “Sobre”:

![Inspecting the HTML of the "about" element](https://media.brightdata.com.br/2024/10/image-40.png)Observe que você pode selecioná-lo com o seletor CSS abaixo:

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

Use o método [`find_element()`](https://selenium-python.readthedocs.io/locating-elements.html) para aplicar o seletor CSS na página. Em seguida, extraia o texto dentro do nó com o atributo `de texto`:

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

about = about_node.text
```

A variável about agora conterá:

```none
`“A plataforma de dados da Web nº 1 do mundo”`
```

Pronto!

### Etapa 6: inspecione a estrutura da página

Agora, concentre-se nas informações contidas no cartão “Detalhes” da página:

![The details card on the company page](https://media.brightdata.com.br/2024/10/image-39.png)Se você inspecionar esta seção, perceberá que não há uma maneira fácil de selecionar os elementos HTML dos quais extrair dados:

![Inspecting the details card](https://media.brightdata.com.br/2024/10/image-38.png)A maioria desses nós tem atributos HTML aleatórios que provavelmente são gerados no momento da compilação. Esses atributos mudam após cada implantação, portanto, você não pode confiar neles para a seleção de nós. Além disso, muitos desses elementos não são marcados com classes ou IDs exclusivos.

Uma abordagem eficaz para selecionar os elementos de interesse é concentrar-se em seus rótulos. Por exemplo, você pode selecionar o nó `fields-card` que contém as informações sobre os setores, identificando qual `fields-card` tem um nó `label-with-info` que contém a string “Setores”.

Essa técnica será usada para extrair dados desta seção. Portanto, faz sentido centralizar a lógica em uma função:

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

  # selecionar todos os nós pai

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

  # iterar pelos nós pai para encontrar aquele

  # cujo nó filho específico contém o texto desejado

  for parent_node in parent_nodes:

    try:

      # obter o nó filho específico dentro do nó pai atual

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

      # verificar se ele contém o texto desejado

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

          return parent_node

    except:

      continue

  return None
```

Use a função acima para selecionar o nó `do cartão de campos` “Indústrias” com:

```none
`nó pai das indústrias = find_parent_node_based_on_child_node_text("campos-cartão li", "label-with-info", "Indústrias")`
```

Ótimo! Agora será muito mais fácil extrair dados do Crunchbase.

### Etapa 7: extrair detalhes da empresa

Inspecione o nó “Indústrias”:

![Inspecting the industry node](https://media.brightdata.com.br/2024/10/image-37.png)Ele armazena os setores em que a empresa atua, armazenados em chips-container a nodes. Selecione todos eles, itere sobre eles e extraia os dados:

```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 = []

para industry_node em industries_nodes:

  industries.append(industry_node.text)
```

Agora, concentre-se no elemento “Data de fundação”:

![The "founded date" element](https://media.brightdata.com.br/2024/10/image-36.png)Nesse caso, a lógica de extração é mais fácil, pois você só precisa extrair o texto do elemento `field-formatter` dentro do nó pai `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
```

A mesma lógica pode ser aplicada à maioria dos outros elementos de detalhes da empresa:

```none
company_type_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Tipo de empresa")

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", "Regiões da sede")

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

headquarters = headquarters_node.text

nó pai do nome legal = find_parent_node_based_on_child_node_text("campos-cartão li", "rótulo-com-informações", "Nome legal")

nó do nome legal = nó pai do nome legal.find_element(By.CSS_SELECTOR, "formatação de campo")

nome legal = nó do nome legal.text

contact_email_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "E-mail de contato")

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", "Número de telefone")

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

phone_number = phone_number_node.text
```

Outro nó que requer atenção especial é o elemento “Fundadores”:

![The founders element](https://media.brightdata.com.br/2024/10/image-35.png)Nesse caso, você precisa iterar sobre os nós `identifier-multi-formatter` a e extrair os dados deles:

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

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

fundadores = []

para founders_node em founders_nodes:

  founders.append(founders_node.text)
```

Por fim, observe o nó de descrição no final da seção “Detalhes”:

![description node at the end of the “Details” section](https://media.brightdata.com.br/2024/10/image-34.png)Extraia esses dados com:

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

description = description_node.text
```

Incrível! Seu Scraper do Crunchbase está quase completo.

### Etapa 8: extraia a tabela de produtos e serviços

Outras informações que valem a pena coletar são a lista de produtos e serviços oferecidos pela empresa:

![list of products and services offered by the scraped company](https://media.brightdata.com.br/2024/10/image-33.png)Selecione a seção “Produtos e serviços” usando a função definida anteriormente:

```none
`products_parent_node = find_parent_node_based_on_child_node_text("profile-section", ".section-title", "Produtos e serviços")`
```

Em seguida, extraia os dados da tabela com:

```none
produtos = []

para linha em linhas_da_tabela_de_produtos:

  # extraia o nome e a descrição das colunas de cada linha

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

  descrição = linha.find_element(By.CSS_SELECTOR, "td:nth-child(2)").text

  produto = {

    "nome": nome,

    "descrição": descrição

  }

  produtos.append(produto)
```

Impressionante! A lógica de scraping do Crunchbase está concluída.

### Etapa 9: Exportar os dados extraídos

Preencha um dicionário da empresa com os dados extraídos:

```none
company = {

  "about": about,

  "industries": industries,

  "founded_date": founded_date,

  "company_type": company_type,

  "operating_status": status_operacional,

  "headquarters": sede,

  "founders": fundadores,

  "email": e-mail_de_contato,

  "phone": número_de_telefone,

  "description": descrição,

  "products": produtos

}
```

Em seguida, exporte-o para um arquivo `company.json`:

```none
com open("company.json", "w") como json_file:

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

Primeiro, [`open()`](https://docs.python.org/3/library/functions.html#open) cria um arquivo de saída `company.json`. Em seguida, [`json.dump()`](https://docs.python.org/3/library/json.html) transforma company em sua representação JSON e o grava no arquivo de saída.

Lembre-se de importar [json](https://docs.python.org/3/library/json.html) da biblioteca padrão do Python:

```none
`import json`
```

### Etapa 10: Junte tudo

Aqui está o arquivo `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):

  # selecionar todos os nós pai

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

  # iterar pelos nós pai para encontrar aquele

  # cujo nó filho específico contém o texto desejado

  for parent_node in parent_nodes:

    try:

      # obter o nó filho específico dentro do nó pai atual

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

      # verificar se ele contém o texto desejado

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

          return parent_node

    except:

      continue

  return None

def handle_cookie_popup(driver, seconds=60):

  tente:

    # aguarde o número de segundos especificado para que o botão "Aceitar tudo"

    # do pop-up de cookies apareça na página

    botão_aceitar = WebDriverWait(driver, segundos).até(

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

    )

    # clicar no pop-up via JavaScript para evitar

    # erros ElementClickInterceptedException

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

    print("Botão 'Aceitar tudo' clicado")

  except:

    print("Botão 'Aceitar tudo' não encontrado em {segundos} segundos")

# inicialize o driver para controlar uma instância do Chrome

# no modo headed

driver = webdriver.Chrome()

# navegue até a página desejada do Crunchbase

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

driver.get(url)

# lide com o pop-up de cookies, se houver

handle_cookie_popup(driver)

# lógica 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 = []

para industry_node em industries_nodes:

  industries.append(industry_node.text)

founded_date_parent_node = find_parent_node_based_on_child_node_text("fields-card li", "label-with-info", "Data de fundação")

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

founded_date = founded_date_node.text

nó_pai_tipo_de_empresa = encontrar_nó_pai_com_base_no_texto_do_nó_filho("campos-cartão li", "rótulo-com-informações", "Tipo de empresa")

nó_tipo_de_empresa = nó_pai_tipo_de_empresa.encontrar_elemento(By.CSS_SELECTOR, "formatação_de_campo")

tipo_de_empresa = nó_tipo_de_empresa.texto

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

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", "Regiões da sede")

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

headquarters = headquarters_node.text

fundadores_nó_pai = encontrar_nó_pai_com_base_no_texto_do_nó_filho("campos-cartão li", "rótulo-com-informações", "Fundadores")

fundadores_nós = fundadores_nó_pai.encontrar_elementos(By.CSS_SELECTOR, "identificador-multi-formatador a")

fundadores = []

para founders_node em founders_nodes:

  fundadores.append(fundadores_node.text)

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

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", "Número de telefone")

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

nó pai dos produtos = encontrar_nó pai_com_base_no_texto_do_nó filho("seção do perfil", ".section-title", "Produtos e serviços")

linhas da tabela de produtos = nó pai dos produtos.encontrar_elementos(By.CSS_SELECTOR, "table tbody tr")

# extrair a tabela de produtos

produtos = []

para linha em linhas_da_tabela_de_produtos:

  # extrair o nome e a descrição das colunas de cada linha

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

  descrição = linha.find_element(By.CSS_SELECTOR, "td:nth-child(2)").text

  produto = {

    "nome": nome,

    "descrição": descrição

  }

  produtos.append(produto)

# preencher um dicionário com os dados extraídos

empresa = {

  "sobre": sobre,

  "setores": setores,

  "data_fundação": data_fundação,

  "company_type": company_type,

  "operating_status": operating_status,

  "headquarters": headquarters,

  "founders": founders,

  "email": contact_email,

  "phone": phone_number,

  "description": description,

  "products": products

}

# exportar os dados coletados para um arquivo JSON

com open("company.json", "w") como json_file:

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

# fechar o driver e liberar os recursos do navegador

driver.quit()
```

Em pouco mais de 100 linhas de código, você acabou de criar um Scraper do Crunchbase em Python!

Execute o script com o seguinte comando:

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

Ou, no Windows:

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

Um arquivo `company.json` aparecerá na pasta do seu projeto. Abra-o e você verá:

```none
{

    "about": "A plataforma de dados da Web nº 1 do mundo",

    "industries": [

        "Business Intelligence",

        "Serviços de dados em nuvem",

        "Computador",

        "Coleta e rotulagem de dados",

        "Tecnologia da informação",

        "Infraestrutura de TI",

        "Segurança de rede",

        "SaaS",

        "Software"

    ],

    "founded_date": "2014",

    "tipo_de_empresa": "Com fins lucrativos",

    "status_operacional": "Ativo",

    "sede": "Grande Nova York, Costa Leste, Nordeste dos EUA",

    "fundadores": [

        "Derry Shribman",

        "Ofer Vilenski"

    ],

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

    "telefone": "(888) 538-9204",

    "descrição": "Proxies que ocultam sua localização e endereço IP, permitindo o acesso a conteúdo público da web anonimamente, sem detecção ou bloqueio.",

    "produtos": [

        {

            "nome": "Proxies residenciais",

            "descrição": "Uma rede de 400M+ monthly IPs residencialis reais de 195 países, permitindo o acesso a qualquer conteúdo de site, evitando proibições de IP e CAPTCHAs."

        },

        {

            "name": "Proxies de datacenter",

            "description": "Uma rede de mais de 770.000 IPs de datacenter que oferece cobertura global e a capacidade de segmentar países e cidades específicos para uma coleta de dados confiável."

        },

        {

            "name": "Proxies móveis",

            "description": "Uma rede de mais de 7 milhões de IPs móveis 3G/4G reais de todo o mundo, permitindo que os usuários vejam a web como usuários móveis reais e contornem bloqueios de localização de IP e CAPTCHAs."

        },

        {

            "name": "Proxies ISP",

            "description": "Mais de 700.000 IPs residencialis estáticos atribuídos por ISPs, proporcionando sessões longas e uso exclusivo pelo tempo que for necessário."

        },

        {

            "name": "Proxies rotativos",

            "description": "Proxies que substituem constantemente seu endereço IP para evitar detecção e bloqueio, com 99,99% de tempo de atividade e fácil gerenciamento por meio de um gerenciador de proxy."

        },

        {

            "name": "Proxies anônimos",

            "description": "Proxies que ocultam sua localização e endereço IP, permitindo o acesso a conteúdo público da web de forma anônima, sem detecção ou bloqueio."

        }

    ]

}
```

Esses são os dados disponíveis na página da empresa Bright Data no Crunchbase.

Et voilà! Você acabou de aprender como fazer Scraping de dados no Crunchbase usando Python.

## Desbloqueando os dados do Crunchbase com facilidade

O Crunchbase fornece uma grande quantidade de dados valiosos, mas também toma medidas extensivas para protegê-los de Scrapers e bots automatizados. Ao interagir com o site usando um navegador headless ou realizar determinadas ações, você pode encontrar páginas [`403 Forbidden`](/faqs/proxy-errors/403-status-error-how-to-avoid) ou CAPTCHAs.

Como primeiro passo, você pode consultar nosso guia sobre [como contornar CAPTCHAs em Python](/blog/web-data/bypass-captchas-with-python). No entanto, o Crunchbase emprega soluções anti-scraping avançadas adicionais que ainda podem levar a bloqueios.

Sem as ferramentas certas, o scraping do Crunchbase pode rapidamente se tornar uma experiência lenta e frustrante. A melhor solução é [a API](/products/web-scraper/crunchbase) dedicada [Crunchbase Scraper](/products/web-scraper/crunchbase) da Bright Data. Recupere dados do Crunchbase sem ser bloqueado!

## Conclusão

Neste tutorial passo a passo, você aprendeu o que é um Scraper do Crunchbase e os tipos de dados que ele pode recuperar. Você também viu como criar um script Python para fazer scraping do Crunchbase para obter dados gerais da empresa, o que exigiu apenas cerca de 150 linhas de código.

O problema é que o Crunchbase adota medidas rigorosas contra bots e scripts automatizados. CAPTCHAs, impressões digitais do navegador e proibições de IP são apenas algumas das defesas usadas para impedir o scraping. Esqueça todos esses desafios com nossa API Crunchbase Scraper.

Se o Scraping de dados da web não é para você, mas ainda assim está interessado nos dados do Crunchbase, explore nossos [Conjuntos de dados do Crunchbase](/products/datasets/crunchbase)!

Fale com um de nossos especialistas para descobrir qual das soluções da Bright Data melhor atende às suas necessidades.



Contate-nosTeste grátis![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Índice







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=Como+extrair+dados+do+Crunchbase+com+Python+em+2026&u=https://brightdata.com.br/blog/dados-do-site/how-to-scrape-crunchbase) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Como+extrair+dados+do+Crunchbase+com+Python+em+2026&url=https://brightdata.com.br/blog/dados-do-site/how-to-scrape-crunchbase) [ ](http://www.reddit.com/submit?title=Como+extrair+dados+do+Crunchbase+com+Python+em+2026&url=https://brightdata.com.br/blog/dados-do-site/how-to-scrape-crunchbase)







##  Você também pode estar interessado em

 [ ![OpenHuman with Bright Data](https://media.brightdata.com.br/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.com.br/blog/ai/openhuman-with-bright-data "Acesso à Web Pronto para Produção no OpenHuman Através do Bright Data CLI")

 [AI



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

Antonello Zanini

Technical Writer





### Acesso à Web Pronto para Produção no OpenHuman Através do Bright Data CLI

Integre o Bright Data CLI ao OpenHuman para habilitar acesso à web pronto para produção e coleta de dados para agentes de IA.



 09-Sep-2026

 14 min de leitura

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

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.com.br/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.com.br/blog/dados-do-site/multimodal-web-scraping-with-minimax "Scraping de Dados Multimodal com MiniMax")

 [Dados do site



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

Antonello Zanini

Technical Writer





### Scraping de Dados Multimodal com MiniMax

Combine a API Web Unlocker da Bright Data com a visão MiniMax M3 para extrair dados estruturados de imagens e capturas de tela de páginas web.



 09-Sep-2026

 5 min de leitura

 ](https://brightdata.com.br/blog/dados-do-site/multimodal-web-scraping-with-minimax)

 [ ![The 10 Best CLI Tools for Codex in 2026](https://media.brightdata.com.br/2026/08/The-10-Best-CLI-Tools-for-Codex-in-2026.png) ](https://brightdata.com.br/blog/ai/best-cli-tools-for-codex "As 10 Melhores Ferramentas CLI para Codex em 2026 – Testadas & Classificadas")

 [AI



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

Daniel Shashko

Web Data &amp; AI Expert





### As 10 Melhores Ferramentas CLI para Codex em 2026 – Testadas &amp; Classificadas

As 10 ferramentas CLI que tornam o Codex mais rápido e capaz, começando com o Bright Data CLI para acesso real à web de dentro do sandbox.



 06-Sep-2026

 24 min de leitura

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