本博客是有关如何抓取 Crunchbase 数据的分步教程。 Crunchbase 是私营公司勘探和研究解决方案的主要提供商之一,拥有令人印象深刻的服务记录 超过75万人 全世界。仅在 2024 年 XNUMX 月,Crunchbase 就吸引了 7.7万人次 寻求对初创企业和商业企业动态世界的洞察。
Crunchbase 也是企业家、投资者、销售专业人士和市场研究人员等的首选平台,拥有包含 3 万家上市公司的数据存储库。
然而,出于分析或研究目的访问和提取这些数据可能具有挑战性。在本指南中,我们将向您展示 Crunchbase 抓取的简单步骤。
我们将探索如何使用 Python、BeautifulSoup 和其他相关库创建 Crunchbase Scraper。我们还将集成 Crawlbase 的 Crawling API,这是一个强大的 Crunchbase API,旨在有效绕过这些障碍。让我们深入了解该项目的详细信息。
该项目旨在帮助您构建一个使用 Python 和 BeautifulSoup 进行抓取的 Crunchbase 抓取器。它利用 Crawlbase 的爬行 API 至 绕过验证码 和潜在的块并获取页面内容。我们的目标是提取 Crunchbase 上列出的公司的各种详细信息,用于市场研究、投资分析、竞争对手分析、合作伙伴识别、招聘等。
为此,我们将瞄准 Free Introduction 特定的 Crunchbase URL 作为我们的示例。
以下是我们将从 Crunchbase 公司页面中提取的数据点列表:
- 主题: 公司名称,例如“OpenAI”。
- 描述: 公司活动的简要概述或总结,例如“专门从事人工智能的研究组织”。
- 地点: 公司所在的地理位置,例如“美国加利福尼亚州旧金山”。
- 员工人数: 公司雇用的大概人数,例如“超过 100 名员工”。
- 公司网址:公司官方网站的网址,例如“https://www.openai.com/“。
- 排名: 公司在 Crunchbase 数据库中的位置或排名,例如“在 Crunchbase 中排名第 5”。
- 成立日期:公司成立日期,如“Founded in 2015”。
- 创始人: 公司创始人的名字,例如“Elon Musk 和 Sam Altman”。
通过提取 Crunchbase 数据,该脚本旨在为 Crunchbase 上列出的公司的简介提供有价值的知识。这些数据还可以使利益相关者深入了解市场动态、竞争格局和行业趋势,最终支持战略决策和明智的行动。
了解项目范围和数据提取过程后,我们现在可以继续设置必要的先决条件并准备编码环境。
1. 抓取 Crunchbase 数据的先决条件
在我们继续使用 Python 抓取 Crunchbase 并利用 Crawlbase API 的强大功能之前,确保您具备必要的先决条件非常重要。这些基本元素将为您提供有效启动网络抓取项目所需的知识、工具和访问权限。
让我们讨论开始网络抓取项目所需的关键先决条件,特别是从 Crunchbase 中提取数据:
Python基础知识
熟悉 蟒蛇 编程语言是必不可少的。这包括了解如何编写和执行 Python 代码。
这是一个建议: 如果您是 Python 新手,有大量资源可以帮助您学习。类似的网站 Codecademy, Coursera及 Udemy 提供适合初学者的 Python 入门课程。此外,阅读 Python 文档并在诸如此类的平台上练习编码练习 力码 or HackerRank 可以巩固你的理解。
Crawlbase API 帐户
如何创建一个帐户: 访问 Crawlbase 网站并导航至 注册页面。填写所需信息以创建您的帐户。注册后,您将从以下位置获取您的 API 凭据 账户文件 页面。
API 凭证的重要性: 将您的 API 凭据视为敏感信息。它们对于访问 Crawlbase 的服务和执行网络抓取任务至关重要。确保它们的安全并避免与未经授权的个人共享它们。
选择集成开发环境 (IDE)
建议: 对于 Python 开发,流行的 IDE 包括 PyCharm, VSCode (Visual Studio 代码),以及 朱皮特 笔记本。每个 IDE 都有其优点,因此您可能需要探索它们以找到最适合您需求的一个。
IDE安装: 只需从各自的网站下载并安装您选择的 IDE。按照提供的安装说明进行操作,您就可以开始使用 Python 进行编码了。
2. 安装依赖项
首先,确保安装了Python。访问官方 Python网站 并下载与您的操作系统兼容的最新版本。或者,您可以使用包管理器,例如 蟒蛇,它提供了全面的 Python 发行版以及流行的软件包和开发环境。
按照 Python 网站或通过 Anaconda 安装程序提供的安装说明进行操作。确保您的系统上正确安装并配置了 Python。
软件包安装
要设置用于网页抓取的 Python 环境,请在安装 Python 后打开命令提示符或终端。然后,通过 mkdir 命令(在 macOS/Linux 上)或通过文件资源管理器(在 Windows 上)在系统上创建一个目录来存放 Python scraper 代码。
接下来,通过在命令提示符或终端中执行特定命令,使用 Python 的包管理器 pip 安装所需的包。
1 | 点安装爬虫库 |
这些命令将下载并安装所需的库:
- Crawlbase Python 库: Crawlbase 库提供了一个方便的 Python 类,设计为 Crawlbase API(Crawling API、Scraper API 等)的包装器。这个轻量级且无依赖性的类可以将 Crawlbase 的网络抓取功能无缝集成到 Python 应用程序中。
- 美丽汤: 作为最广泛使用的网页抓取Python框架之一,Beautiful Soup以其直观的功能简化了HTML解析,使得从网页中提取数据变得更加容易。
3.爬取Crunchbase网页
现在我们已经安装了重要的依赖项,让我们开始编码过程。
提取 Crunchbase 数据涉及使用 Crawling API 获取所需页面的 HTML 内容。以下是使用 Python 和提供的代码片段抓取 Crunchbase 网页的步骤:
导入 CrawlingAPI 类:
- 导入
CrawlingAPI
班级从crawlbase
图书馆。此类支持与 Crawling API 进行交互。
定义 crawl
功能:
- 创建一个名为
crawl
它需要两个参数:page_url
(要抓取的 Crunchbase 网页的 URL)和api_token
(您的 Crawlbase API 令牌)。
初始化 CrawlingAPI 对象:
- 里面的
crawl
函数,初始化CrawlingAPI
对象,方法是将您的 API 令牌作为字典的值传递给'token'
键。
获取页面内容:
- 使用
get()
的方法CrawlingAPI
对象获取指定的HTML内容page_url
。将响应存储在response
变量。
检查响应状态:
- 检查响应状态代码(使用访问
response['status_code']
)等于200,表示请求成功。
提取数据或处理错误:
- 如果请求成功,则提取并打印页面的 HTML 内容(使用
response["body"]
)。否则,打印一条错误消息,指出失败的原因。
指定页面 URL 和 API 令牌:
- 在
__main__
脚本块中,指定要抓取的 Crunchbase 页面 URL (page_url
)和您的 Crawlbase API JavaScript 令牌(api_token
).
调用爬取函数:
- 最后,致电
crawl
具有指定的函数page_url
和api_token
作为启动爬网过程的参数。
这是实现这些步骤的代码。您可以复制并粘贴代码并将其另存为目录中的 Python 文件。例如 scraper.py
1 | from 爬行基地 进口 抓取API |
让我们执行上面的代码片段,要运行它,我们需要执行以下命令:
1 | 蟒蛇 scraper.py |
输出:
我们已经成功爬取了Crunchbase网页的HTML数据。接下来,我们将继续使用 Python 中的 BeautifulSoup4 包来抓取 Crunchbase 数据。
4. 刮取 Crunchbase 公司名称
现在,我们重点关注从 Crunchbase 网页爬取的 HTML 中提取公司名称。我们将使用 BeautifulSoup4 包来解析 HTML 内容并查找相关信息。
在 Python 脚本或函数的开头导入 BeautifulSoup。
1 | from bs4 进口 美丽汤 |
标识包含公司名称的 HTML 元素。检查 Crunchbase 网页或查看 HTML 源代码以确定适当的选择器。
利用 BeautifulSoup 选择器来定位 title
网页中的元素。这涉及指定与所需元素匹配的适当类。
1 | DEF 抓取数据(响应): |
此代码片段查找第一次出现的 <h1>
变量 soup 中存储的 HTML 内容中具有类“profile-name”的元素。然后,它提取该元素内的文本,并使用以下命令删除任何多余的空格或换行符: get_text(strip=True)
方法。最后,它将清理后的文本分配给变量 title
并返回 title
.
5.Scrape Crunchbase 公司描述
在本节中,我们将重点关注从 Crunchbase 网页的爬网 HTML 中提取公司的描述。
1 | DEF 抓取数据(响应): |
此代码通过搜索特定的内容来提取 Crunchbase 页面的描述 <span>
解析的 HTML 内容中具有“description”类属性的标记。然后它以字典格式返回此描述文本。
6. 抓取 Crunchbase 的公司位置
公司位置提供了有关公司所在地的宝贵信息,这对于各种分析和业务目的至关重要。
在抓取公司位置时,我们将继续利用 BeautifulSoup4 包来解析 HTML 内容并查找相关信息。公司的位置通常可以在网页内容中找到,通常在特定的 HTML 元素中,如下所示:
1 | DEF 抓取数据(响应): |
此代码片段从页面上的特定元素中提取位置信息,特别是从 <li>
内的元素 .section-content-wrapper
。然后,它返回此信息作为包含其他提取数据的字典的一部分。此外,如果在抓取过程中发生任何情况,它还会通过打印错误消息来处理异常。
7. 搜刮 Crunchbase 公司员工
员工人数是一个重要指标,可以洞察公司的规模和规模。与前面的部分类似,我们将利用 BeautifulSoup4 包来解析 HTML 内容并查找相关信息。员工人数通常位于位置部分下方,如下所示:
1 | DEF 抓取数据(响应): |
提供的代码定义了一个名为的函数 scrape_data
负责从网页的 HTML 内容中提取数据。它利用 BeautifulSoup 来解析 HTML,专门针对 Crunchbase 网页上代表公司员工数量的特定 HTML 元素。在 try-except 块中,代码尝试使用 CSS 选择器提取此元素的文本内容 '.section-content-wrapper li.ng-star-inserted:nth-of-type(2)'
.
如果成功,提取的员工数量将作为字典的一部分返回。如果在抓取过程中出现任何异常,代码会通过打印错误消息并返回空字典来处理它们,表明不存在提取的数据。
8. 抓取 Crunchbase 的公司网站 URL
公司网站 URL 是一条基本信息,可让您直接访问公司的在线信息。通常,公司网站 URL 位于“关于”部分,如下所示:
与前面的部分非常相似,我们将使用 BeautifulSoup4 包来浏览 Crunchbase 网页的 HTML 内容,并使用 CSS 选择器精确定位数据。
1 | DEF 抓取数据(响应): |
这段代码定义了一个名为 scrape_data
尝试从 Crunchbase 网页的 HTML 内容中提取公司网站 URL。我们解析 HTML 内容并使用 CSS 选择器 .section-content-wrapper li.ng-star-inserted:nth-of-type(5) a[role="link"]
来定位具体的 <a>
代表公司 URL 的 (anchor) 元素。
9. 抓取 Crunchbase 的公司排名
公司排名提供了有关公司在其行业或部门中的地位或地位的见解。公司排名位于“关于”部分,通常标记或标识为“排名”或类似名称。
1 | DEF 抓取数据(响应): |
此代码片段尝试从 HTML 内容中提取公司的排名。它利用 BeautifulSoup 的 select_one()
方法和 CSS 选择器 .section-content-wrapper li.ng-star-inserted:nth-of-type(6) span
定位代表排名的特定 HTML 元素。
10. Scrape Crunchbase 的公司创始人
通常,有关公司创始人的信息列在公司网页的“关于”部分中,通常标记或标识为“创始人”或类似名称。
下面的代码片段演示了如何使用 BeautifulSoup 提取公司创始人的信息:
1 | DEF 抓取数据(响应): |
此代码片段从 HTML 内容中提取创始人的信息。它利用 BeautifulSoup 的 select_one()
方法和 CSS 选择器 .mat-mdc-card.mdc-card .text_and_value li:nth-of-type(5) field-formatter
找到显示创始人信息的特定 HTML 元素。
11. 完成 Crunchbase Scraper 代码
现在我们已经探索了抓取过程的每个组件并开发了单独的函数来从 Crunchbase 网页中提取特定的数据点,现在是时候将它们整合到一个有凝聚力的脚本中了。
下面的完整代码集成了爬行和抓取数据的功能,可以轻松地从 Crunchbase 资料中收集有关公司的各种信息。
1 | from 爬行基地 进口 抓取API |
使用命令执行代码 python scraper.py
应提供类似的输出,如下所示:
本教程作为使用 Python 和 Crawlbase API 创建 Crunchbase scraper 的综合指南。它显示了从 Crunchbase 公司简介中轻松提取重要信息的分步说明。
请注意,本教程可以免费使用,我们鼓励您将其用于您的项目。无论您是网络抓取新手还是旨在提高技能的经验丰富的开发人员,本教程都是每个人的坚实起点。
请随意调整和自定义提供的代码以满足您的特定要求。您不仅可以使用它来抓取 Crunchbase 数据,还可以将其用作抓取其他感兴趣网站的指南。通过使用本教程中教授的概念和技术,您将准备好自信地处理各种网络抓取任务。
此外,如果您有兴趣探索更多与此类似的项目,您可以浏览以下教程以获得更多灵感:
有关更多自定义选项和访问高级功能,请检查 Crawlbase 抓取 API 文档。如果您有任何疑问或反馈,请随时联系我们 支持团队.
常见问题
问:我应该使用 Crunchbase API 还是 Crawling API?
如果您想以结构化方式正式访问 Crunchbase 数据,建议使用官方 Crunchbase API。但是,请注意,通过 Crunchbase API 访问的数据可能有限制。
另一方面,如果您需要更大的自由度和灵活性,或者您的数据需要扩展到 Crunchbase 之外,您可能会发现 Crawlbase 提供的 Crawling API 是更合适的选择。
问:如何从 Crunchbase 提取数据?
- 注册 Crawlbase 并获取您的 JavaScript 令牌
- 选择目标网站或 URL。
- 向 API 发送 HTTP/HTTPS 请求
- 与 Python 和 BS4 集成以抓取特定数据
- 导入 JSON、CSV 或 Excel 格式的数据
问:Crunchbase 可以刮吗?
使用 Crawlbase 抓取 API 只需几分钟即可在 Crunchbase 上抓取数千个数据点。
有了 Crawlbase 帐户,您就可以利用 JavaScript 令牌来抓取页面的整个 HTML 代码。然后,要提取特定内容,您可以使用 Python BeautifulSoup 或您选择的任何其他第三方解析器开发一个抓取器。
问:Crunchbase 有何用途?
Crunchbase 是一个全球范围内用于查找商业信息的平台。它在企业家、投资者、销售人员和研究人员中很受欢迎。这是了解公司、初创企业、投资者、融资、收购和行业趋势的好地方。
问:Crunchbase 是做什么的?
Crunchbase 提供了一个利用实时公司数据的业务勘探平台。该平台旨在帮助销售人员、首席执行官和个人等,让他们轻松查找、跟踪和关注公司。这使得交易发现和收购更加高效。
问:如何从 Crunchbase 自动提取财务数据?
财务数据隐藏在 Crunchbase 的登录会话后面。为了自动提取数据,您必须执行以下操作:
- 在真实浏览器上手动登录网站
- 从浏览器中提取会话cookie
- 使用以下命令将 cookie 发送到 Crawling API cookie参数.
登录后,您可以使用 Python 应用本教程中演示的相同抓取技术来检索财务数据。