FireCrawl

image

1- FireCrawl

FireCrawl 是一款强大的网页爬虫工具,能够将网站内容转换为适合大语言模型(LLM)使用的 Markdown 或结构化数据。

文档:doc

2- 安装与配置

2.1- 1. 安装 FireCrawl

首先,确保你已经安装了 Node.js 和 npm。然后在命令行中运行以下命令来全局安装 FireCrawl:

npm install -g firecrawl

此命令会全局安装 FireCrawl 工具。

2.2- 2. 获取 API Key

访问 FireCrawl 的官方网站,注册并获取免费的 API Key。你需要将这个 API Key 配置到环境变量中。

官网:链接

2.3- 3. 配置环境变量

在项目根目录下创建一个 .env 文件,并添加以下内容:

FIRECRAWL_API_KEY=your_api_key_here

your_api_key_here 替换为你实际的 API Key。

2.3.1- API Key

fc-d4e0fa8b2ccc4047899af740a87836d0

[!NOTE]
这是临时注册的,可能有有效期

3- 基本使用

3.1- 1. 启动爬虫

在命令行中运行以下命令,开始爬取指定网址:

firecrawl https://example.com

此命令会开始爬取 https://example.com 及其所有可访问的子页面。

3.2- 2. 查看结果

爬取完成后,FireCrawl 会在终端输出结果,同时生成 HTML 报告供进一步查看。报告中会指出哪些资源加载较慢,并提供优化建议,如压缩图片、减少 HTTP 请求等。

4- 高级选项

FireCrawl 提供了多种高级选项,帮助用户进行更深入的分析和定制化爬取。

4.1- 1. 设置爬取深度

你可以通过 --max-depth 参数设置爬取的深度。例如:

firecrawl https://example.com --max-depth=3

此命令会设置爬取深度为 3 层。

4.2- 2. 排除 DOM 内容

如果你不需要爬取 DOM 内容,可以使用 --no-dom 参数:

firecrawl https://example.com --no-dom

此命令会排除 DOM 内容的爬取。

4.3- 3. 自定义输出格式

FireCrawl 支持多种输出格式,如 Markdown、HTML、原始 HTML 等。你可以通过 --formats 参数指定需要的格式:

firecrawl https://example.com --formats=markdown,html

此命令会将爬取结果输出为 Markdown 和 HTML 格式。

5- 本地部署

如果你希望在本地环境中运行 FireCrawl,可以按照以下步骤进行配置:

5.1- 1. 安装依赖

确保你已经安装了 Docker 和 Docker Compose。然后克隆 FireCrawl 的 GitHub 仓库并安装依赖:

git clone https://github.com/mendableai/firecrawl.git
cd firecrawl
docker-compose up -d

此命令会克隆 FireCrawl 仓库并启动 Docker 服务。

5.2- 2. 配置环境变量

/apps/api/ 目录下创建 .env 文件,并添加以下内容:

NUM_WORKERS_PER_QUEUE=8
PORT=3002
HOST=0.0.0.0
REDIS_URL=redis://localhost:6379
REDIS_RATE_LIMIT_URL=redis://localhost:6379
USE_DB_AUTHENTICATION=false

此配置文件设置了 FireCrawl 服务的基本参数。

5.3- 3. 启动服务

运行以下命令启动 FireCrawl 服务:

docker-compose up

此命令会启动 FireCrawl 服务。

6- 案例讲解

6.1- 案例 1:爬取博客网站

假设你想爬取一个博客网站 https://example-blog.com,并将内容转换为 Markdown 格式。你可以按照以下步骤操作:

6.1.1- 启动爬虫:

firecrawl https://example-blog.com --formats=markdown

此命令会爬取博客网站并将内容转换为 Markdown 格式。

6.1.2- 查看结果:

FireCrawl 会在终端输出爬取进度,并在当前目录生成一个包含所有爬取内容的文件夹。你可以在该文件夹中找到转换后的 Markdown 文件。

6.2- 案例 2:爬取电商网站

假设你想爬取一个电商网站 https://example-shop.com,并分析其产品页面加载速度。你可以按照以下步骤操作:

6.2.1- 启动爬虫:

firecrawl https://example-shop.com --max-depth=2

此命令会爬取电商网站并设置爬取深度为 2 层。

6.2.2- 查看结果:

FireCrawl 会生成一个 HTML 报告,指出哪些资源加载较慢,并提供优化建议。你可以在浏览器中打开该报告,查看详细信息。

6.3- 图表与可视化

FireCrawl 生成的 HTML 报告中包含多种图表和可视化工具,帮助你更直观地理解爬取结果。例如:

  • 加载时间图表:显示每个资源的加载时间,帮助你识别性能瓶颈。
  • 优化建议:提供具体的优化建议,如压缩图片、减少 HTTP 请求等。

7- 总结

FireCrawl 是一款功能强大且灵活的网页爬虫工具,适合各种规模的项目。通过上述步骤,你可以轻松安装、配置并使用 FireCrawl 进行网页数据的抓取和分析。如果你需要更多帮助,可以参考 FireCrawl 的官方文档或加入其社区获取支持。