尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

如何用 Firecrawl 快速跑通自部署与整站提取

如何用 Firecrawl 快速跑通自部署与整站提取 如何用 Firecrawl 快速跑通自部署与整站提取【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl又要手动打开二十个网页、把价格一个个抄进表格吗Firecrawl 是一个开源的网页数据 API给它一个 URL它把页面爬成干净的 Markdown 或结构化 JSON还支持整站爬取、批量抓取和页面交互。下面用一套自部署实例走通跑起来 → 拿到真实数据的完整路径。 项目定位速览Firecrawl 是一个网页上下文 API和 Scrapy 这类传统爬虫最直观的区别是它不给你原始 HTML而是内部处理掉 JS 渲染、代理轮换和反爬对抗直接返回 LLM 可用的 Markdown、JSON、截图。官方基准数据可查证——P95 延迟 3.4 秒声称覆盖 96% 的网页包括 JavaScript 重的页面。Firecrawl 网页抓取配置界面支持 URL 输入、选项配置和 AI 代理任务它同时有托管服务和开源自部署两种形态只想用就直接托管想要数据主权或想动手改就走自部署。两种形态接口完全一致本文后面全部基于自部署。 从零到跑通一条docker compose up就能拉起一套完整的 Firecrawl 实例只把 3002 端口发布到宿主机。获取代码并启动git clone https://gitcode.com/GitHub_Trending/fi/firecrawl cd firecrawl docker compose up -d这会构建并启动 5 个服务API、Playwright负责 JS 渲染、Redis、RabbitMQ、NuQ PostgreSQL。首次构建要花几分钟属正常现象。验证它真的活着——直接发一个真实抓取curl -X POST http://localhost:3002/v2/scrape \ -H Content-Type: application/json \ -d {url:https://example.com,formats:[markdown]}返回的 JSON 里带有 example.com 的markdown字段说明从请求到浏览器渲染再到回传的全链路已通。卡住了先看这里用docker compose ps确认 playwright-service 和 api 两个容器都在运行自部署默认不需要 API keyUSE_DB_AUTHENTICATIONfalse如果你收到 401说明改过认证配置。 一条主线工作流盯住目标站点的内容变化以监控竞品首页文案变化为例完整流程就是首次抓取建基线 → 周期性再抓 → 拿到 diff → 决定告警或落库。定 URL第一遍跑一个就够了比如竞品首页或产品页。关键在 URL 本身不在站点规模。首次抓取建基线POST/v2/scrapeformats传[markdown]返回内容即基线。请求体模板在 apps/api/requests/v2/scrape.requests.http仓库里直接可抄连 Change Tracking 的示例都有。周期再抓 变化 diff同一接口支持 changeTracking新旧内容对比后直接返回哪些部分变了——措辞改了、模块换了不用自己写 diff 逻辑。对变化做决策拿到 diff 后可以推 IM、落库或进一步开 JSON 提取formats里传 schemaAI 按你定义的结构抽出价格标题这类字段把非结构化变化变成结构化数据。Firecrawl 网页内容变化追踪效果直接标出两次抓取间的文案差异这套流程还能自然放大想从单页扩到整站把 scrape 换成 crawl一个请求抓全站所有 URL量大就上 batch scrape 异步批量提交。接口不变只是入口粒度变了。️ 能力边界与调优它擅长 JS 重页面和结构化提取但边界很明确调优只需要动几个环境变量这些变量都在 docker-compose.yaml 里。能力能做到局限动态页面JS 渲染覆盖 96% 站点验证码/登录墙需自理结构化提取按 schema 抽 JSON依赖模型提供商配置整站爬取一个请求抓全部 URL无内置存储落库自理页面交互点击/滚动/填写交互完成后才能提取CRAWL_CONCURRENT_REQUESTS默认 10控制并发浏览器页数被目标站点限流就先降它而不是抱怨慢。MAX_CONCURRENT_JOBS默认 5限制并发任务数整站爬取排队久可以调高但注意 api 容器内存上限是 8G。OPENAI_API_KEY / OLLAMA_BASE_URL结构化提取、agent 等 AI 功能依赖模型提供商不配就不可用纯 scrape 链路不依赖它。⚠️ 踩坑速查自部署阶段的高频卡点就四种对着处理即可。现象scrape 只返回空壳、内容缺失 →处理JS 重的页面走 Playwright 渲染先确认 playwright-service 容器在跑异步加载的页面在提取前加等待或页面交互动作。现象首次docker compose up特别慢 →处理API 和 Playwright 两个镜像都是从源码本地构建首次是全量构建后续启动就快了。现象extract / agent 接口报错或不可用 →处理自部署默认没接模型提供商填 OPENAI_API_KEY或把 OLLAMA_BASE_URL 指向本地 Ollama。现象search 端点查不到结果 →处理自部署的搜索依赖 SEARXNG_ENDPOINT不配置这个端点只在托管服务侧可用。 继续深入下面三个文件分别回答配置、调用、部署三个问题。SELF_HOST.md自部署基线配置和生产暴露前的注意事项接外网之前必读apps/python-sdk/example_v2.pyscrape、crawl、interact 等全部端点的 Python 调用样例照着改参数就能用examples/kubernetes/firecrawl-helm/Kubernetes 部署的 Helm chart玩完本地想上生产时看它跑通之后欢迎来 Issue 区聊聊你的场景——尤其是哪种刁钻站点被你搞定过。【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表