firecrawl免费AI爬虫,开源商用两个版本

智能科技扫地僧 2024-07-02 00:41:27

Firecrawl 是一个功能强大的爬虫工具,提供了开源和商用两个版本,开源版本的star数量也很多,自身对自己的定位强调API,强调与大模型的结合,在使用手册都专门针对 llamaindex 和 langchain也有说明,官网版本也支持下载 md,json 格式这些更容易被 LLM读懂的格式

我直接在官网试用过,体验不错,这里就做简要分享

商用版本

去官网商用版本不用注册也能在线爬取网站, 使用门槛低,免费版可以

网页爬取大量/复杂网页抓取,得付费版,根据响应速度,一天爬取次数和并发数量收费

个人测试下来,免费版简单的静态网页爬取,搜索需要 5s左右,速度有点慢

商用版本支持 search, scraping(免费版只能 scrape 一个 url,相当于 crawl) 和 crawling,和目前处于测试版本的 LLM extract

这里我用了搜索功能,出现 6 个相关文章, 右上角可以下载全部回答为Json文件,再传给 ChatGPT4 进行整理

image.png

点击 get code 能看到这次搜索的api 相关代码

产品本身重视 api 服务, 可以作为ai 产品的工具/插件,说明文档有很多针对不同平台,语言(python,lanchain,llamaindex) api 请求访问的教程

如果直接要用官方 api,不自己部署,需按照 api 收费,每个账户都 300 credits 的免费 api 额度

curl -X POST https://api.firecrawl.dev/v0/scrape \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer YOUR_API_KEY' \ -d '{ "url": "https://mendable.ai" }'

这里的 mendable ai 是一个帮助自定义构建 AI 客服的平台, 用户可上传相应产品文档让 AI 学习, 并且侧重客户数据分析,支持 api 导出到其他平台

开源版本

开源版本一开始部署没有登陆验证和一些辅助功能,比如pdf 解析, JS防 block, AI 特点

To start, we wont set up authentication, or any optional sub services (pdf parsing, JS blocking support, AI features )

需要安装:

node.js instructionspnpm instructionsredis instructions

设置环境变量

在 /apps/api/ 目录中的 .env 文件中设置环境变量,你可以复制 .env.example 中的模板。

初始设置中,我们不会配置认证或任何可选的子服务(如 PDF 解析、JS 阻止支持、AI 功能)。

# ===== 必需的环境变量 ======NUM_WORKERS_PER_QUEUE=8PORT=3002HOST=0.0.0.0REDIS_URL=redis://localhost:6379## 若要启用数据库认证,你需要设置 supabase。USE_DB_AUTHENTICATION=false# ===== 可选的环境变量 ======# Supabase 设置(用于支持数据库认证、高级日志记录等)SUPABASE_ANON_TOKEN=SUPABASE_URL=SUPABASE_SERVICE_TOKEN=# 其他可选项TEST_API_KEY= # 如果你已设置认证并希望使用真实的 API 密钥进行测试SCRAPING_BEE_API_KEY= # 如果你希望使用 scraping Bee 处理 JS 阻止OPENAI_API_KEY= # 添加用于 LLM 依赖功能(如图像 alt 生成等)BULL_AUTH_KEY= #LOGTAIL_KEY= # 如果你正在配置基本日志记录与 logtailPLAYWRIGHT_MICROSERVICE_URL= # 如果你希望运行一个 playwright 备用服务LLAMAPARSE_API_KEY= # 如果你有 llamaparse 密钥并希望用于解析 PDFSERPER_API_KEY= # 如果你有 serper 密钥并希望作为搜索 API 使用SLACK_WEBHOOK_URL= # 如果你希望发送 slack 服务器健康状态消息POSTHOG_API_KEY= # 如果你希望发送 posthog 事件如作业日志POSTHOG_HOST= # 如果你希望发送 posthog 事件如作业日志

安装依赖

首先,使用 pnpm 安装依赖。

pnpm install

运行项目

你需要打开 3 个终端。

终端 1 - 设置 redis

在项目的任意位置运行以下命令

redis-server

终端 2 - 设置 workers

现在,导航到 apps/api/ 目录并运行:

pnpm run workers

这将启动负责处理爬取作业的 workers。

终端 3 - 设置主服务器

导航到 apps/api/ 目录并运行。如果你还没有安装 pnpm,请在此处安装:https://pnpm.io/installation。接下来,运行服务器:

pnpm run start

终端 3 - 发送我们的第一个请求

现在,让我们发送第一个请求。

curl -X GET http://localhost:3002/test

这应该返回响应 "Hello, world!"

如果你希望测试爬取端点,可以运行以下命令:

curl -X POST http://localhost:3002/v0/crawl \ -H 'Content-Type: application/json' \ -d '{ "url": "https://mendable.ai" }'

测试

最好的方式是运行以下命令以在没有认证的情况下运行测试:

npm run test:local-no-auth

如果你希望在有认证的情况下运行测试,可以运行:

npm run test:prod

这里就对这个产品进行简要介绍,因为我不太擅长 api 领域内容,没有太多经验可以分享

0 阅读:0

智能科技扫地僧

简介:感谢大家的关注