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 领域内容,没有太多经验可以分享