跳到主要内容

数据库

信息

数据库集成功能仅在 Crawlab 专业版 中可用。

默认情况下,Crawlab 将收集的数据保存到默认数据库(MongoDB)。然而,Crawlab 的目标是成为一个多功能的网络爬虫管理平台, 这意味着它可以用于管理各种用途的爬虫。因此,它被设计为灵活的,并且可以轻松集成到主流数据库中,以便您可以将抓取的数据存储到您选择的数据库中。

Crawlab 数据库模块类似于一些数据库管理工具,如 DBeaverDataGrip

支持的数据库

Crawlab 目前支持以下数据库:

我们正在努力添加更多数据库支持,包括但不限于:

数据库管理

Crawlab 提供了一个集中的数据库管理界面,在这里您可以管理您的数据库和数据集合。

创建数据库

您可以通过点击数据库管理界面中的 新建数据库 按钮并输入数据库连接信息来创建新数据库。

创建数据库

更新数据库模式

您可以在 数据库 详细页面的 数据库 标签页中像添加、更新或删除表一样更改数据库模式。

更新数据库模式

执行查询

您还可以在 数据库 详细页面的 控制台 标签页中执行数据库查询。当您想在代码中运行查询之前测试它们时,这非常有用。

执行查询

ORM 模式

从 v0.7.0 开始,Crawlab 为 SQL 数据库提供原生 ORM(对象关系映射) 支持,由 GORM 驱动。 启用 ORM 模式后,Crawlab 会自动管理你的数据库表结构并执行类型安全的操作,包括自动的表结构检测与表管理—— 因此在存储抓取数据前,你不再需要手动编写 CREATE TABLE 语句。

支持的数据库

ORM 模式适用于以下数据源:

  • MySQL
  • PostgreSQL
  • SQL Server

其他数据源(如 MongoDB、Elasticsearch)继续使用 Crawlab 的原生存储处理,不会显示 ORM 开关。

启用 ORM

对于受支持的数据库,数据库设置中会显示一个 ORM 开关。开启后即为该数据库启用由 ORM 管理的表结构与写入; 关闭后则恢复为旧版存储服务。该设置是按数据库生效的,因此你可以选择性启用。

创建数据库时,Crawlab 会初始化一个合理的默认值——对受支持的数据源默认启用 ORM,其余则默认关闭。 你可以随时更改;该开关是非破坏性的,不会删除已有数据。

信息

ORM 模式仅影响 Crawlab 如何管理所选数据库的表结构与写入。切换时会保留已有数据,因此你可以增量迁移。

ORM API

ORM 状态也可以通过 REST API 进行管理:

方法与路径说明
GET /databases/{id}/orm/status数据库的 ORM 是否 enabled(已启用)及是否 supported(受支持)
PUT /databases/{id}/orm/status启用或关闭 ORM({"enabled": true}
GET /databases/{id}/orm/compatibility兼容性详情,包括原因及 ORM 支持的数据源列表
POST /databases/{id}/orm/initialize应用该数据库数据源的默认 ORM 设置

完整的请求与响应结构请参阅 API 参考中的 ORM 状态 API 及相关端点。

连接到数据库

数据集成 部分,您已经学习了如何使用 Crawlab SDK 将数据存储到 Crawlab 以便预览抓取的数据。

数据库模块旨在成为集中式数据库管理界面,您可以在此轻松管理您的数据库和表。此外,您可以在 爬虫 详细页面中选择要存储抓取数据的数据库。

按照以下步骤连接到数据库。

  1. 数据库 列表页面中创建一个新数据库。
  2. 导航到 爬虫 详细页面。
  3. 导航到 数据 标签页。
  4. 选择要存储抓取数据的数据库和表。

连接到数据库