Firecrawl 教程:把网页抓取变成 LLM 可用的结构化数据 📅 2026/8/22 14:13:06 Firecrawl 教程把网页抓取变成 LLM 可用的结构化数据【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl做 AI 应用绕不开同一件事数据在网页上模型能读的却是干净文本。Firecrawl 就是解决这个断点的抓取 API输入 URL 或整站直接产出 Markdown、截图或结构化 JSON解析、JS 渲染、反爬对抗都在服务端完成你拿到的数据可以直接喂给模型。30 秒认识 Firecrawl可以把 Firecrawl 理解成一层架在 LLM 前面的网页上下文层脏活——原始 HTML、客户端渲染、PDF、弹窗广告——由它吸收模型一侧只接收能直接消化的 Markdown 和 JSON。SDK 覆盖 Python、JavaScript、Go、Rust 等语言核心能力对应四种输入输出形态能力输入 → 输出scrape一个 URL 进该页的 Markdown 或结构化 JSON 出extract一批 URL 加一个提取问题进符合问题的结构化数据出crawl站点根域进全站页面批量抓取结果出deep_research一个研究主题进多轮搜索–抓取–分析的过程与最终报告出记住这四行就能开始动手下面的四个场景会看到它们如何组合。四个场景四组解法仓库 examples/ 目录里有几十份可运行示例下面挑复用价值最高的四组。每个场景按同样的三步展开痛点一句话、核心调用、你手里会拿到什么。把新闻首页抽成 JSON痛点列表型页面——新闻首页、排行榜、商品清单——内容结构稳定但每家站点的 HTML 骨架都不同逐个站写选择器不划算。核心调用用 Pydantic 模型声明你要的字段Firecrawl 的 extract 模式会依据字段描述去页面里定位内容from typing import List from pydantic import BaseModel, Field from firecrawl import FirecrawlApp class Headline(BaseModel): title: str Field(description新闻标题) url: str Field(description原文链接) points: str Field(description点赞数) class NewsPage(BaseModel): headlines: List[Headline] client FirecrawlApp() data client.scrape_url(https://news.ycombinator.com/, params{formats: [extract], extract: {schema: NewsPage.model_json_schema()}})你手里会拿到什么data[extract][headlines]是符合 schema 的 JSON 数组落盘做 diff、直接进下游分析都可以。全程不写选择器站点改版后模型仍按字段描述定位内容。相关示例examples/hacker_news_scraper/跟踪电商商品价格痛点想知道某件商品的价格走势得反复打开页面读数电商页广告噪声又多手工操作完全不可持续。核心调用把商品页抽成固定三个字段的记录每次调用只多存一个时间戳client 沿用上一节的 FirecrawlApp 实例from datetime import datetime from pydantic import BaseModel, Field class Product(BaseModel): name: str Field(description商品名称) price: str Field(description当前售价) currency: str Field(description货币) def track_price(url: str) - dict: result client.scrape_url(url, params{ formats: [extract], extract: {schema: Product.model_json_schema()}, }) return {**result[extract], scraped_at: datetime.now().isoformat()}你手里会拿到什么每次调用是一条带时间戳的价格记录入库后连成折线图。配套示例用定时任务每隔几小时跑一次价格跌破阈值时推送通知。相关示例examples/blog-articles/amazon-price-tracking/清洗业务数据公司资料与站内链接痛点两类活——查准一家公司的资料和给博客补内部链接——本质相同数据在网页上但散落在多个页面里。核心调用公司资料走 extract 接口异步返回 id 后轮询内部链接先 scrape 出正文 Markdown再用 map 拿全站 URL 清单一起交给模型headers {Authorization: fBearer {api_key}} job requests.post( https://api.firecrawl.dev/v1/extract, headersheaders, json{urls: candidate_urls, prompt: brief}, ).json() done requests.get(fhttps://api.firecrawl.dev/v1/extract/{job[id]}, headersheaders).json() links client.map_url(https://docs.example.com)[links]你手里会拿到什么一份结构化的公司资料 JSON成立年份、规模、主营业务这类字段按你的 prompt 定加上全站 URL 清单和模型改写后的内部链接稿可以对比改动前后的链接数量。公司资料流程里示例先用搜索拿到候选 URL、由模型筛出最相关的几条再送进 extract避免整页搜索列表进上下文。相关示例examples/gemini-2.5-web-extractor/与examples/internal_link_assistant/用深度研究让模型替你逛租赁网站痛点找房子要翻几十个列表站按预算、卧室数、设施反复过滤是典型的人工重复劳动。核心调用deep_research 内部自动做搜索→抓取→分析多轮迭代三个参数直接控成本def deep_lookup(query: str) - dict: return client.deep_research( queryquery, params{ maxDepth: 3, # 研究迭代轮数 timeLimit: 180, # 时间预算秒 maxUrls: 20, # 最多分析 URL 数 }, ) result deep_lookup(Austin 1 bedroom rental under $2000) sources result[data][sources]你手里会拿到什么每个来源页面的内容清单sources加一份 finalAnalysis 结论。把 sources 交给 Claude 或 GPT 按你的条件输出前三套房源——租金、街区、优缺点各几条——就是完整的找房助手。相关示例examples/deep-research-apartment-finder/5 分钟跑通第一条网页抓取转 Markdown 链路第 1 步安装 SDK。Python 包在 PyPI 上一条命令装完客户端依赖一并带入。第 2 步配置 API Key。在官方控制台领取 key放进环境变量项目里建议写进 .env用 python-dotenv 加载仓库示例都是这个做法pip install firecrawl-py export FIRECRAWL_API_KEYfc-xxxx第 3 步最小可运行示例。一条抓取请求换回整页 Markdownfrom firecrawl import FirecrawlApp client FirecrawlApp() page client.scrape_url(https://example.com, params{formats: [markdown]}) print(page[markdown][:200])输出非空、开头是页面标题链路就通了。下一步把 formats 扩成[markdown, extract]加一个小 schema就能验证结构化提取。踩坑与取舍额度按页数消耗不按调用次数。deep_research、crawl、批量抓取都按分析页面数计费长任务前先用 timeLimit、maxUrls、maxDepth 兜底否则一次研究任务可能吃掉整天免费额度。输出格式按下游选。下游做 RAG 就只要 markdown比原始 HTML 省很多 token要固定字段才开 extract截图只留作人工校验。全量请求所有格式既慢又费额度。extract 与 deep_research 是异步任务。接口先返回 id要轮询才拿得到结果客户端代码里预留轮询循环和超时别照搬同步 scrape 的写法。反爬由服务端兜底但边界仍在。代理轮换、JS 渲染是 Firecrawl 的活付费墙内容和明确 robots 限制的站点仍可能失败数据进生产前核对源站条款与自身合规。Firecrawl 把取数、清洗、结构化压成一次 API 调用剩下的才是你自己的业务逻辑。参数细节与更多场景参考官方文档和仓库 examples/ 目录即可。【免费下载链接】firecrawlThe context API to search, scrape, and interact with the web at scale. 项目地址: https://gitcode.com/GitHub_Trending/fi/firecrawl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考