ARTICLE DETAIL

资讯详情

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

Firecrawl 网页提取:一条命令验证单页到整站

Firecrawl 网页提取:一条命令验证单页到整站 Firecrawl 网页提取一条命令验证单页到整站【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawlFirecrawl 是一个开源的网页提取 API把任意网页转成干净的 markdown 或结构化 JSON直接喂给 LLM 或 agent 流水线。它解决的不是能不能抓到 HTML而是抓来的东西还能不能用——导航栏、广告、JS 噪音都替你清掉。适合做 RAG 语料、竞品监控、数据聚合的开发者和技术爱好者。能力边界与核心设计LLM-ready 是输出标准。scrape 的默认产物是干净 markdown也可以一次请求要 HTML、截图、links、结构化 JSON 多种格式。输出干净意味着 prompt 里的无效 token 更少这是它和下载 HTML 再自己正则路线的根本差异。脏活被封装在服务端。代理轮换、限速、JS 渲染页面、反爬拦截由服务端处理调用方不写任何代理逻辑。代价是自托管时这些能力取决于你配的抓取引擎开箱自带的 Playwright 只覆盖基础场景。抓取之后还能继续操作。scrape 拿到页面后可以用自然语言指令对同一个页面会话执行搜索、点击、滚动再取结果适合登录态或动态加载的内容。方式适用场景限制单页 scrape已知 URL要页面内容一次一个 URLmap只想知道站点有哪些 URL不返回正文crawl整站正文异步任务必须给页面数上限大站耗时长agent只有自然语言需求无确切 URL需要模型提供方成本最高跑起来最小可用路径容器化和本地开发是两条独立路径别混用配置文件前者用根目录docker-compose.yaml后者在apps/api下用 pnpm 启动并自管依赖容器。最短路径是 Compose 起一套自托管服务再发一个 scrape 请求验证git clone https://gitcode.com/GitHub_Trending/fi/firecrawl cd firecrawl docker compose up -d curl -X POST http://localhost:3002/v2/scrape -H Content-Type: application/json \ -d {url: https://example.com}预期输出是success: true且带markdown字段的 JSON。默认配置不启用 API 认证USE_DB_AUTHENTICATIONfalseAPI 只监听 3002 端口内网验证没问题别直接暴露公网。从单次调用到批量任务单页抓取scrape 直接返回 markdown要解决的问题一个已知 URL拿干净的正文进 prompt。from firecrawl import Firecrawl app Firecrawl(api_keyfc-YOUR_API_KEY) # 自托管改为 http://localhost:3002 doc app.scrape(https://firecrawl.dev, formats[markdown]) print(doc.markdown)这张图展示的是一个站点被转成 llms.txt 标准结构后的网页提取结果每行对应一个页面的路径与说明整站爬取crawl 用 limit 控制规模要解决的问题文档站、博客这类多页站点要整库入库但大站不设上限会把时间和配额烧光。job app.crawl(https://docs.firecrawl.dev, limit50) for doc in job.data: print(doc.metadata.source_url, doc.markdown[:80])SDK 会自动轮询异步任务直到完成如果直接打 HTTP返回的是 job id需要自己去轮询状态接口。批量与结构化提取agent 配 schema 约束字段要解决的问题需求是一句话找某公司定价且要按字段落库而不是回传一大段 markdown。from pydantic import BaseModel class Plan(BaseModel): name: str price: str class Pricing(BaseModel): plans: list[Plan] result app.agent(promptFind Notion pricing plans, schemaPricing)这张图展示 search 接口一次调用同时返回标题、URL 和 markdown 正文的完整链路仓库里也有一套现成的参考实现examples/blog-articles/amazon-price-tracking/定时抓取商品价格并画趋势线。下图就是该示例的价格追踪面板选哪种语言 / 哪种接入方式语言 / 接入方式优势注意点Pythonapps/python-sdk/和 LLM/RAG 生态无缝异步接口另开 Async 客户端Node.jsapps/js-sdk/TS 类型完整前后端通用注意 v1/v2 端点差异Goapps/go-sdk/轻量嵌入服务端功能跟进较慢直接 HTTP零依赖serverless 可用crawl 等异步任务要自己轮询SDK 的通用价值在于替 crawl、batch 这类异步任务自动轮询。各 SDK 的完整用法看仓库根目录README.md的 SDKs 一节。落地时容易踩的坑crawl 超时或跑不完先 map 看站点规模再给 limit 定值别对大型站点无上限爬。内容为空多为 JS 渲染页面先确认走了 Playwright 抓取端点再考虑调大 timeout而不是盲目重试。AI 功能不生效agent、interact 依赖模型提供方自托管没配 OpenAI 或 Ollama 时这些端点不可用。代理和反爬托管版自带代理池自托管默认没有受保护的站点要自己接代理。下一步当前自托管默认不启用认证、队列与 Redis 也未配持久化暴露公网前必须先补齐这两项Kubernetes 与 Helm 清单在examples/kubernetes/。先看 SELF_HOST.md 和根目录 docker-compose.yaml。建议先用一个手头真实的数据源跑 scrape确认输出格式后再上 crawl。【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表