перейти к содержанию

Как очистить данные о компаниях и людях Crunchbase.com (подробное руководство)

Crunchbase управляет одной из самых полных в мире баз данных, содержащей информацию о стартапах, частных компаниях, поглощениях, инвесторах, основателях и ключевых сотрудниках. Их платформа содержит более 700,000 XNUMX профилей компаний, а также данные о раундах финансирования, мероприятиях, партнерствах и многом другом.

В этом подробном руководстве, состоящем из более чем 3,000 слов, вы узнаете, как эффективно собирать данные о компаниях, людях и инвестициях Crunchbase с помощью Python.

Мы рассмотрим:

  • Варианты использования и примеры очистки данных Crunchbase
  • Объем и статистика набора данных Crunchbase
  • Юридические аспекты парсинга веб-страниц Crunchbase
  • Методы поиска и извлечения страниц профилей компаний и людей.
  • Методы очистки структурированных данных из HTML и скриптов Crunchbase
  • Инструменты для хранения, анализа и визуализации очищенных данных Crunchbase
  • Стратегии, позволяющие избежать блокировки во время парсинга
  • Лучшие практики этического сбора и использования общедоступных данных

Давайте начнем!

Зачем очищать Crunchbase? 9 уникальных вариантов использования

Вот 9 примеров того, как вы можете использовать очищенные данные Crunchbase для сбора уникальной информации и проведения интеллектуального анализа:

1. Конкурентная разведка

Изучите историю финансирования ваших конкурентов, ключевых инвесторов, состав команды, технологии, партнерские отношения, приобретения и многое другое.

2. Исследования рынка

Анализируйте тенденции финансирования, ведущих инвесторов, наиболее быстрорастущие стартапы и т. д. на конкретных рынках.

3. Свинцовое обогащение

Пополните свою базу данных потенциальных клиентов дополнительным контекстом и информацией из Crunchbase, например статистикой финансирования, контактами руководителей и используемыми технологиями.

4. Прием на работу

Источник информации о кандидатах, их навыках, контактных данных и резюме для подбора персонала.

5. Партнерство

Определите возможности партнерства, анализируя связи компаний, стратегические инвестиции и совпадения портфелей.

6. Инвестиционный анализ

Проведите комплексную проверку инвестиционных возможностей, исследуя состояние финансирования компаний, риски и крупных инвесторов.

7. Развитие бизнеса

Выявите потенциальных клиентов, цели приобретения или стратегических партнеров на основе финансирования, технологий, лидерства и других сигналов.

8. Анализ общедоступных данных

Включите структурированные данные Crunchbase в платформы аналитики, бизнес-аналитики и обработки данных наряду с другими общедоступными источниками.

9. Академические исследования

Используйте данные Crunchbase для количественных и качественных исследований предпринимательства, стартапов и технологических инноваций.

Это всего лишь несколько примеров: с более чем 100 миллионами точек данных возможности практически безграничны!

Далее давайте рассмотрим объем базы данных Crunchbase.

Crunchbase в цифрах: огромный общедоступный ресурс данных

Чтобы понять масштаб Crunchbase и объем данных, рассмотрим следующие ключевые статистические данные:

  • 700К + профили компаний
  • 900К + профили людей – основатели, руководители, члены совета директоров, советники и т. д.
  • 1M + охвачены раунды финансирования
  • 250К + инвесторы и инвестиционные компании отслеживают
  • 150К + записи о приобретении
  • 375К + Статьи Центра финансирования, отслеживающие рост доходов
  • 50К + Новостные статьи, анализ и интервью
  • 125К + Такие мероприятия, как конференции и питч-соревнования.

Всего Crunchbase содержит миллионов за 100 точек данных и растет с каждым днем.

Несмотря на огромный масштаб, все основные данные Crunchbase общедоступны без платной учетной записи.

Это делает Crunchbase невероятно ценным ресурсом для сбора информации о рынке посредством тщательного и этичного анализа веб-страниц.

Условия обслуживания Crunchbase прямо не запрещают парсинг веб-страниц и извлечение данных. Однако они запрещают:

  • Доступ к информации личного профиля
  • Загрузка или извлечение списков объектов
  • Перепродажа или распространение данных Crunchbase
  • Парсинг данных за платным доступом
  • Попытка обойти защиту от парсинга

Лучшие практики

Чтобы оставаться на правильной стороне своих Условий обслуживания, разумно:

  • Извлекайте только общедоступные данные
  • Ограничьте частоту запросов, чтобы избежать перегрузки серверов.
  • Не распространяйте очищенные данные
  • Укажите авторство, если отображается извлеченная информация Crunchbase.

В целом, ответственное сбор разумных объемов общедоступных данных Crunchbase исключительно для личного использования, по-видимому, разрешено законом на основании их Условий обслуживания.

Тем не менее, всегда обращайтесь к адвокату за юридической консультацией по правилам парсинга веб-страниц в вашей конкретной юрисдикции.

Шаг 1. Найдите URL-адреса профилей компаний и людей с помощью файлов Sitemap.

В отличие от некоторых сайтов, Crunchbase не предоставляет API для экспорта объемных данных или списков сущностей.

Поэтому нам нужно будет выполнить парсинг, сначала обнаружив URL-адреса компаний, людей и инвесторов, которые можно будет загрузить в наш парсинг.

К счастью, Crunchbase предоставляет подробные XML-карты сайта со списком всех общедоступных профилей:

SITEMAP_INDEX = "https://www.crunchbase.com/www-sitemaps/sitemap-index.xml"

Мы можем загрузить и проанализировать этот индекс карты сайта, чтобы найти соответствующие карты сайта:

from sitemap import Sitemap

sitemap_index = requests.get(SITEMAP_INDEX).text

sitemaps = Sitemap.parse_index(sitemap_index)

Это предоставляет объекты Sitemap, представляющие все общедоступные объекты Crunchbase.

Чтобы отфильтровать компании и людей, мы перебираем и сопоставляем URL-адреса:

company_urls = []
people_urls = []

for sitemap in sitemaps:
  if "organizations" in sitemap.url:
    company_urls.extend(sitemap.resources)
  elif "people" in sitemap.url: 
    people_urls.extend(sitemap.resources)

print(len(company_urls)) # 592,000+ company profile URLs!  
print(len(people_urls)) # 875,000+ people profile URLs!

И теперь у нас есть списки URL-адресов, которые можно загрузить в наши парсеры. Легкий!

Этот метод также можно использовать для поиска других объектов Crunchbase, таких как инвесторы, приобретения или раунды финансирования.

Шаг 2 – Сбор профилей компаний Crunchbase

Далее давайте обсудим подходы к извлечению данных из профилей компаний Crunchbase.

Мы рассмотрим как простые, так и продвинутые методы парсинга.

Простой способ: используйте API компании

Удобно, что Crunchbase предлагает JSON API для основных данных компании.

Мы можем запросить это напрямую вместо анализа HTML:

company_url = "https://www.crunchbase.com/organization/facebook"
api_url = company_url + "/api"

data = requests.get(api_url).json()

print(data["name"]) 
print(data["num_employees_min"])

Этот API предоставляет атрибуты высокого уровня, такие как:

  • Название, описание и местоположение
  • Подробности основания
  • Ключевые люди
  • Контакты
  • Такие показатели, как количество сотрудников и доход.
  • Изображения и логотипы
  • Инвестиции, сделанные компанией
  • Последние новости

Во многих случаях использования это может предоставить достаточную информацию о компании без необходимости анализа HTML.

Парсинг HTML-страниц профиля компании

Однако API охватывает только часть данных Crunchbase.

Чтобы извлечь такие детали, как:

  • Раунды финансирования
  • Ключевые члены команды
  • Совет директоров
  • Портфолио IP
  • Партнерство
  • Мероприятия
  • Приобретения
  • И многое другое

Нам нужно очистить HTML-страницы профиля компании.

Вот четырехэтапный процесс парсинга профилей компаний:

import requests
from bs4 import BeautifulSoup

URL = "https://www.crunchbase.com/organization/spacex" 

def scrape_company(url):

  # Step 1 - Fetch HTML
  page = requests.get(url)
  soup = BeautifulSoup(page.content, ‘html.parser‘)

  # Step 2 - Extract Structured Data
  data = json.loads(soup.find("script", id="data").text) 

  # Step 3 - Parse Relevant HTML Sections
  funding_rounds = [parse_funding_round(x) for x in soup.select(".funding-round")]

  key_people = [parse_person(x) for x in soup.select(".key-person")]

  # Step 4 - Pagination (if needed)
  next_page = soup.select_one(".next")
  if next_page:
    # keep scraping additional pages

  return {
    "data": data,
    "funding_rounds": funding_rounds,
    "key_people": key_people
  }

results = scrape_company(URL)

Давайте обсудим каждый шаг:

Получить HTML-страницу

Мы используем библиотеку Requests для загрузки содержимого страницы.

Извлечение структурированных данных

Crunchbase удобно хранит некоторые проанализированные данные JSON, которые мы можем извлечь напрямую вместо анализа HTML.

Разобрать соответствующие разделы

Используйте селекторы CSS для таргетинга на такие элементы, как раунды финансирования и члены команды.

Обработка нумерации страниц

Некоторые разделы, такие как «Новости», занимают несколько страниц и обрабатывают следующие ссылки на страницы.

Тот же процесс работает и для других областей, таких как члены совета директоров, приобретения, новости, события и многое другое.

С помощью некоторых целевых селекторов и кода синтаксического анализа вы можете создавать парсеры для извлечения всей публичной информации о компании.

Полезные поля данных на страницах профиля компании

Чтобы дать представление о том, какие данные можно получить, вот некоторые из наиболее полезных полей, доступных на страницах профиля компании:

  • Раунды финансирования
    • Имя, дата, собранная сумма, инвесторы, изображения
  • Ключевые члены команды
    • Имя, роль, биография, контактная информация
  • Интеллектуальная собственность
    • Названия и описания патентов
  • Члены Правления
    • Имя, роль, биография
  • Текущая команда
    • Размер, список особей
  • Новости Статьи
    • Название, дата, отрывок, URL
  • Приобретения
    • Название цели, дата, сумма, условия
  • Партнерство
    • Имя партнера, дата объявления, подробности
  • Мероприятия
    • Имя, дата, местоположение, тип, URL-адрес
  • Технический стек веб-сайта
    • Используемые технологии, такие как языки программирования и фреймворки.

Приложив немного усилий, вы можете создать надежные парсеры для извлечения всей информации о публичной компании.

Далее давайте рассмотрим профили людей…

Парсинг профилей людей и инвесторов из Crunchbase

Crunchbase содержит подробные профили ключевых лиц, связанных с компаниями, в том числе:

  • Основатели
  • Руководство
  • Инвесторы
  • Члены Правления
  • Другие
  • Первые сотрудники

И многое другое.

Эти профили людей включают такие данные, как:

  • Трудовая книжка
  • Вложения
  • Обучение
  • Биография
  • Навыки и умения
  • Контакты
  • Публичные холдинги
  • Упоминания в новостях

Подход к парсингу страниц людей аналогичен профилям компаний:

1. Получите HTML-код профиля.

person_url = "https://www.crunchbase.com/person/mark-zuckerberg"
page = requests.get(person_url)
soup = BeautifulSoup(page.content, ‘html.parser‘)

2. Извлечение структурированных данных из скриптов

Многие поля хранятся в формате JSON/JS.

3. Анализ ключевой информации из разделов HTML

Образование, опыт и т.д.

4. Управление нумерацией страниц

Некоторые разделы, например новости, занимают несколько страниц.

Например, вот как мы можем извлечь историю образования:

education = []

for school in soup.select(".education-block"):

  item = {
    "name": school.select_one(".education-logo-title").text, 
    "degree": school.select_one(".education-title").text.strip(),
    "years": school.select_one(".education-date").text.strip(),
  }

  education.append(item)

print(education)

Полезные поля данных, доступные в профилях людей, включают:

  • Текущая должность, компания и дата начала
  • Предыдущие компании работали и роли
  • Получено высшее образование
  • Навыки указаны в профиле
  • Биография и обзор
  • Инвестиции, сделанные человеком
  • Доски, на которых сидит человек
  • Некоммерческие роли и волонтерство
  • Контактная информация, такая как адрес электронной почты и LinkedIn.
  • Последние упоминания в новостях и событиях

Как и в случае с компаниями, вы можете создавать парсеры для извлечения всех общедоступных данных о людях.

Шаг 3 – Хранение очищенных данных Crunchbase

Теперь, когда мы можем собирать данные о компаниях и людях, где и как их следует хранить?

Вот несколько надежных вариантов хранения структурированных данных Crunchbase:

Реляционные базы данных

Postgres и MySQL хорошо работают для высокоструктурированных объектов, таких как компании, люди, раунды финансирования и т. д. Это позволяет легко объединять связанные объекты.

JSON

Храните необработанные объекты JSON, извлеченные из страниц профиля, для упрощения хранения.

MongoDB

Отлично подходит для более разнообразных данных, включая вложенные объекты и массивы.

Хранилища данных

Используйте инструменты ETL для передачи очищенных данных Crunchbase в BigQuery или Snowflake вместе с другими источниками.

Озера данных

Сохраняйте необработанный вложенный JSON в облачное хранилище, например S3, перед анализом в таблицы.

Некоторые ключевые решения:

  • Должны ли данные храниться в необработанном виде или нормализованы в таблицах?
  • Какие объекты заслуживают отдельных таблиц при нормализации?
  • Как будут отслеживаться отношения между сущностями? Внешние ключи?
  • Какие данные должны оставаться в виде неструктурированного JSON или синтаксического анализа?

Существует множество действенных подходов — выберите тот, который соответствует вашему варианту использования и потребностям анализа.

Шаг 4. Анализ очищенных данных Crunchbase

После очистки и сохранения начинается самое интересное — анализ данных!

Вот несколько полезных инструментов для обработки наборов данных Crunchbase:

Инструменты бизнес-аналитики

Tableau, Looker, PowerBI — создавайте интерактивные информационные панели на основе базы данных Crunchbase.

Ноутбуки

Pandas, Jupyter — исследуйте наборы данных, разрабатывайте модели, визуализируйте данные.

Электронные таблицы

Excel, Google Таблицы – простая фильтрация, поворот, вычисления. Обработка небольших наборов данных.

API

Предоставляйте данные Crunchbase с помощью пользовательских API.

Встроенный

Включите данные Crunchbase непосредственно в свои приложения.

ETL

Используйте StitchData, Fivetran для перемещения данных Crunchbase в облачные хранилища данных.

Возможности структурированных данных Crunchbase безграничны!

Избегайте блокировки при очистке Crunchbase

При масштабном парсинге таких сайтов, как Crunchbase, блокировка или выполнение CAPTCHA представляет собой реальный риск.

Вот умные тактики, позволяющие избежать блоков:

ИнструментПлюсыМинусы
ДоверенныеРотация разных IP-адресовМогут заблокировать при плохом качестве
API парсераНикаких блоков, быстроДороговато для больших наборов данных
СеленОбходит вызов JSМедленная, сложная установка.
Ограничение скоростиПочтительныйОчень медленный сбор данных
Пользовательские заголовкиИмитирует браузерыОграниченная эффективность сама по себе
Жилые проксиВысокая степень разблокируемостиДорогой, сложный

Для крупномасштабного извлечения отлично подходят коммерческие API, такие как ScraperAPI и ProxtCrawl.

Они автоматически обрабатывают прокси, браузеры и CAPTCHA, одновременно максимизируя показатели успешной очистки.

Стоит изучить серьезные потребности в очистке Crunchbase.

Парсинг Crunchbase этично и ответственно

При парсинге любого веб-сайта важно:

  • Следуйте Условиям обслуживания сайта

  • Ограничьте частоту запросов, чтобы избежать перегрузки серверов.

  • Укажите атрибуцию при повторном отображении скопированных данных.

  • Помните о конфиденциальности данных – не собирайте и не храните личную информацию.

  • Используйте очищенные данные законно и разумно

  • Не пытайтесь обойти защиту от парсинга

Полезное парсинг в соответствии с правилами веб-сайта позволяет нам продолжать собирать ценные общедоступные данные.

Поэтому всегда придерживайтесь этического подхода при извлечении Crunchbase или других общедоступных данных.

Резюме: очистка Crunchbase с помощью Python

Из этого подробного руководства, состоящего из более чем 3,000 слов, вы узнали:

  • 9 креативных вариантов использования для веб-парсинга Crunchbase, такого как конкурентная разведка, привлечение потенциальных клиентов, инвестиционные исследования и многое другое.

  • Статистика Crunchbase показаны более 700 тысяч компаний и более 100 миллионов точек данных

  • Сканирование карты сайта методы обнаружения URL-адресов профилей компаний и людей

  • Методы парсинга структурированные данные из HTML-страниц и скриптов

  • варианты хранения например PostgreSQL, MongoDB и S3 для очистки данных

  • Инструменты для анализа включая Tableau, Jupyter и API.

  • Обход блоков через прокси, пользовательские заголовки и коммерческие API

  • Этические практики за ответственный сбор публичных данных

Crunchbase — бесценный ресурс технологической разведки. С помощью тщательного парсинга веб-страниц и анализа данных вы можете получить ценную информацию, которая повысит ваше конкурентное преимущество.

Я надеюсь, что это руководство предоставит вам исчерпывающую схему эффективного извлечения данных Crunchbase в большом масштабе. Соскребая с умом, возможности безграничны!

Теги:

Присоединяйтесь к беседе

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *