ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Firecrawl 快速上手指南:3 个场景配好参数,5 分钟把网页变成 LLM 可用的数据

Firecrawl 快速上手指南:3 个场景配好参数,5 分钟把网页变成 LLM 可用的数据 Firecrawl 快速上手指南3 个场景配好参数5 分钟把网页变成 LLM 可用的数据【免费下载链接】firecrawl Supercharge your AI agents with data from the web and beyond. A web data API to search, scrape, and access more sources.项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl做 RAG 那天你一定见过这个场面把一整段 HTML 塞进上下文token 烧得飞快模型却抓不住重点换个 SPA 页面返回的是一句“加载中…”脚本直接空手而归。Firecrawl 是一个开源的 Web 数据 API一个请求就能把任意网页变成干净 Markdown、结构化 JSON、截图还能动页面点、滚、输。本文覆盖抓单页、结构化抽取、整站灌 RAG、Agent 调研和自托管 5 条路径全部参数照抄即可跑通你不需要再翻第二篇教程。5 分钟跑通第一次抓取SDK 安装与首条请求步骤最短路径是托管版 Python SDK一共 4 条命令。注册并拿到fc-开头的 API key。pip install firecrawl-py写入环境变量FIRECRAWL_API_KEY或直接填进构造函数。运行下面的代码拿到第一份 Markdownfrom firecrawl import Firecrawl app Firecrawl(api_keyfc-YOUR_API_KEY) result app.scrape(firecrawl.dev) print(result.markdown)不想写代码就用 CLIfirecrawl scrape https://firecrawl.dev --only-main-content一条命令出结果firecrawl search web data api --limit 5直接搜索并返回 5 个结果的正文。仓库里还备好了整套请求样例改baseUrl就能对着自己环境发请求apps/api/requests/v2/抓取单页场景formats 参数取值与返回格式对照思路是“一次请求换 N 种输出”格式由formats参数决定。需求关键参数返回值干净正文formats[markdown]默认Markdown 文本页面摘要formats[summary]摘要文本截图formats[screenshot]图片 URL页面变化监控formats[{type:changeTracking,modes:[git-diff]}]diff 结果只取正文时加onlyMainContent过滤导航栏和页脚。页面是 PDF、DOCX 时不用额外处理媒体解析是内置能力确认接口行为可以直接对照 openapi.json。结构化抽取场景Pydantic 模型定义与 json 格式写法思路是“用模型描述字段让 Firecrawl 自己找元素”页面改版也不容易崩。以电商页为例照抄这段from pydantic import BaseModel, Field from firecrawl import Firecrawl class Product(BaseModel): url: str Field(descriptionThe URL of the product) name: str Field(descriptionThe product name/title) price: float Field(descriptionThe current price of the product) currency: str Field(descriptionCurrency code (USD, EUR, etc)) app Firecrawl(api_keyfc-YOUR_API_KEY) result app.scrape( https://www.amazon.com/dp/B002U21ZZK, formats[{type: json, schema: Product.model_json_schema()}] ) print(result.data)仓库里的 examples/blog-articles/amazon-price-tracking/notebook.md 演示了把这个抽取结果按小时落库、画价格曲线的完整流程可以直接抄。整站灌 RAG 场景crawl 与 map 参数组合配置 思路是“先探路再收割”map花 1 次请求列出全站 URLcrawl用includePaths圈范围、limit定上限防止把整站无差别吸干。# 第 1 步列出全部 URL links app.map(https://firecrawl.dev, searchblog) # 第 2 步只爬博客区封顶 100 页 docs app.crawl( https://firecrawl.dev, include_paths[blog], max_depth2, limit100 ) for doc in docs.data: print(doc.metadata.source_url, len(doc.markdown))SDK 会自动轮询任务状态不用自己写 sleep。纯 cURL 用户注意POST /v2/crawl先返回任务id要拿GET /v2/crawl/{id}轮询到status: completed才能取数完整报文见 crawl.requests.http。Agent 场景effort 三档参数对照与选型方法思路是“不知道 URL 就把问题交给 Agent”它自己搜索、翻页、取数返回结果带sources溯源列表。effort适用任务特征low单站点简单查询推理预算最小最便宜medium几个页面的多步骤任务默认档位high深度调研、关键数据推理预算最大result app.agent( promptFind the pricing plans for Notion, effortmedium ) print(result.data[result]) print(result.data[sources])三档跑的都是spark-2模型effort只改变推理预算。注意model与effort二选一同时传会返回 400。自托管部署Docker Compose 环境变量与端口配置思路是“先跑通基线再谈定制”一条命令拉起 API、Playwright、Redis、RabbitMQ 和 NuQ PostgreSQL 共 5 类服务默认只发布 API 的 3002 端口。克隆仓库git clone https://gitcode.com/GitHub_Trending/fi/firecrawl在项目根目录写好.env基线 4 个变量照抄变量建议值作用USE_DB_AUTHENTICATIONfalse基线不鉴权先跑通CRAWL_CONCURRENT_REQUESTS10抓取并发上限NUM_WORKERS_PER_QUEUE8每队列 worker 数BROWSER_POOL_SIZE5常驻浏览器实例数docker compose up -d等api容器到 healthy。验证curl -X POST http://localhost:3002/v2/scrape -H Content-Type: application/json -d {url:https://firecrawl.dev}拿到 Markdown 即部署成功。基线原则写在 SELF_HOST.md队列保持 NuQ PostgreSQL除非你设NUQ_BACKENDfdb并会运维 FoundationDBAPI 要离开内网前先补上鉴权、TLS 和端口收敛——PostgreSQL、Redis、RabbitMQ 默认都不该对外暴露。排坑清单4 类高频错误与编号解决步骤401 认证错误确认 header 是Authorization: Bearer fc-你的key不是api-key字段。检查 key 前缀是fc-且当前账号额度未耗尽。自托管环境确认USE_DB_AUTHENTICATIONfalse此时无需 key。JS 重页面抓到空内容先确认该 URL 在浏览器里需要交互才出内容。改用interact先scrape拿到scrape_id再发app.interact(scrape_id, prompt点击加载更多)。仍为空则加actions{type:wait,milliseconds:2000}后再取内容。crawl 任务长时间不完成GET /v2/crawl/{id}看completed/total比例确认是否真的在推进。把limit从 100 降到 50max_depth从 2 降到 1。确认没把www和非www子域同时圈进includePaths重复域会翻倍耗时。自托管 curl 127.0.0.1:3002 拒绝连接docker compose ps检查api容器状态。docker compose logs api | tail -50看是否卡在依赖健康检查RabbitMQ 需要 healthy 后 api 才启动。确认 3002 未被占用换PORT3003重启。另外提醒一句默认遵守 robots.txt商用前确认目标站的政策这是使用方的责任。今晚就能做的 5 步注册拿 API keypip install firecrawl-py跑通上面的 4 行抓取代码。给一个目标 URL 加formats[markdown]把输出存成.md文件确认正文干净。定义一个 3 字段的 Pydantic 模型用json格式从真实页面抽一次结构化数据。对目标站发一次map记下 URL 总数用limit20发一次crawl试跑。想自己控制数据出口就克隆仓库、按 4 个变量配.env、docker compose up -d用 curl 验证 3002 端口。【免费下载链接】firecrawl Supercharge your AI agents with data from the web and beyond. A web data API to search, scrape, and access more sources.项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表