标签: Web Scraping

  • 🔥 Firecrawl:为 AI 智能体而生的网页抓取与搜索 API(152.7K Stars)

    🔥 Firecrawl:为 AI 智能体而生的网页抓取与搜索 API(152.7K Stars)

    Firecrawl

    Firecrawl 是一个面向 AI 的开源网页数据 API——把”搜索、抓取、与网页交互”封装成一套可靠的服务,自动把任意网页转换成干净的 Markdown 或结构化 JSON,让大模型和智能体直接可用。

    一、项目简介

    一句话:Firecrawl 是”为 AI 而生的 Web 数据 API”。它覆盖 96% 的网页(含 JS 重度页面),P95 延迟仅 3.4s,把你从反爬、代理轮换、JS 渲染等脏活中彻底解放出来,专注业务本身。

    二、安装要求和过程

    环境要求

    • 一门开发语言运行时:Python 3.8+Node.js 18+
    • 一个 Firecrawl API Key(在 firecrawl.dev 免费注册即可获取,含免费额度)
    • 自托管可选:Docker + Docker Compose、Redis、用于渲染的 Playwright Key

    快速安装

    Python:

    pip install firecrawl-py

    Node.js:

    npm install firecrawl

    CLI(一行给 Agent 装好 Skill + 浏览器能力):

    npx -y firecrawl-cli@latest init --all --browser

    配置密钥后,三行代码即可抓取:

    from firecrawl import Firecrawl
    
    app = Firecrawl(api_key="fc-YOUR_API_KEY")
    doc = app.scrape("https://firecrawl.dev", formats=["markdown"])
    print(doc.markdown)

    自托管(数据完全自控):

    git clone https://github.com/firecrawl/firecrawl
    cd firecrawl && cp .env.example .env   # 填入 REDIS_URL、PLAYWRIGHT_KEY 等
    docker compose up -d

    三、核心功能

    • 一体化 Web API:Search / Scrape / Crawl / Map / Batch Scrape / Agent / Interact 七大端点,覆盖”找源 → 取内容 → 结构化”全链路。
    • LLM 就绪输出:自动输出干净 Markdown、带 Schema 的结构化 JSON、截图,省 token、少噪音。
    • 工业级可靠性:覆盖 96% 网页(含 JS 重度页面),P95 延迟 3.4s,自动处理反爬、代理轮换、限速与 JS 拦截。
    • Interact 交互式抓取:抓下页面后用 AI 提示词或代码”点击 / 滚动 / 输入 / 等待”,轻松拿下动态页面。
    • Agent 自治 + MCP/Skill 一行接入:用自然语言描述需求即可自动收集数据;一条命令接入 Claude Code、Cursor 等任意 MCP 客户端。

    四、典型使用场景

    • RAG 知识库构建:批量 Crawl 文档站转 Markdown,直接灌入向量库,告别手写爬虫。
    • AI 智能体联网:通过 MCP 让 Claude Code / Cursor 等 Agent 实时检索并读取网页,回答才有”活水”。
    • 竞品与市场研究:用 Agent 端点一句话拿到结构化竞品定价、功能对比,无需提前知道 URL。

    五、推荐理由

    做过 RAG 或 AI Agent 的人都懂:自己写爬虫要处理反爬、JS 渲染、代理池、限速……Firecrawl 把这些脏活全包了,输出直接是干净 Markdown,省下大量 token 和调试时间。免费额度对个人项目足够,MCP 接入极简,AGPL-3.0 协议还能自托管把数据攥在自己手里。如果你的应用”需要联网”,它几乎是第一选择。

    六、下载地址

  • Scrapling:能自适应网页改版的 Python 爬虫框架,GitHub 6.1 万星

    Scrapling:能自适应网页改版的 Python 爬虫框架,GitHub 6.1 万星

    Scrapling 项目封面

    项目简介

    Scrapling 是一个自适应的 Python 网页爬取框架,由开发者 D4Vinci 在 GitHub 上发布,能够优雅地处理从单次 HTTP 请求到全站大规模爬取的各种场景。它既保留了 Scrapy 式的 Spider API,又在反爬对抗、动态页面渲染、AI 集成等方向做了大量现代化扩展。截至 2026 年 6 月,项目已在 GitHub 收获超过 6.1 万 Star,是今年爬取类工具里增长最快的开源项目之一。

    安装要求和过程

    环境要求:Python 3.10 及以上版本。

    基础安装

    pip install scrapling

    基础安装仅包含解析引擎,不包含浏览器相关依赖。如果需要爬取动态渲染页面,需要额外安装 fetchers 组件。

    完整安装(推荐)

    # 安装爬虫器依赖(含 Playwright)
    pip install "scrapling[fetchers]"
    
    # 安装浏览器及系统依赖(会自动下载 Chromium)
    scrapling install
    
    # 强制重装
    scrapling install --force

    Docker 方式(生产推荐)

    docker pull pyd4vinci/scrapling
    docker run -it pyd4vinci/scrapling

    全功能安装

    # 安装所有功能(MCP 服务器、交互式 Shell 等)
    pip install "scrapling[all]"

    核心功能

    • 自适应元素跟踪——网站结构变更后,Scrapling 可以自动重新定位之前配置好的目标元素,不需要每次改版都手动更新选择器。支持 CSS 选择器、XPath、标签过滤、文本搜索、正则搜索等多种定位方式。
    • 多层反爬对抗——内置 StealthyFetcher,可以模拟真实浏览器的 TLS 指纹(impersonate Chrome),绕过 Cloudflare Turnstile 等常见反爬机制。支持代理轮换(ProxyRotator)、DNS over HTTPS(防止 DNS 泄露)。
    • 动态页面渲染——通过 DynamicFetcher 集成 Playwright Chromium,支持在头部模式下加载 JavaScript 渲染后的页面,并等待网络空闲(network_idle)后再提取内容。这对现代前端框架搭建的网站非常关键。
    • 内置 MCP 服务器——Scrapling 自带一个 MCP(Model Context Protocol)服务器,可以直接对接 Claude、Cursor 等 AI 编程工具。AI 可以通过它发起真实的网页请求、提取结构化数据,而不需要把整个网页内容都塞进上下文。
    • 类 Scrapy API + 流式爬取——如果你用过 Scrapy,上手 Scrapling 的 Spider 几乎零成本。还支持流式模式(stream()),可以实时获取爬取结果,不需要等整个爬虫跑完。支持爬取暂停/恢复(checkpoint)。

    典型使用场景

    场景一:AI 训练数据采集

    训练一个垂直领域 LLM 最头疼的事之一就是高质量语料的获取。用 Scrapling 可以稳定地批量采集目标网站的结构化文本(文章正文、评论、产品描述等),配合它的自适应跟踪能力,即使目标网站偶尔改版也不会导致采集任务中断。内置的 MCP 服务器还能让 AI 直接参与到采集策略的调整中。

    场景二:竞品价格/库存监控

    电商场景里经常需要定时抓取竞品的价格、库存、促销信息。Scrapling 的会话管理(FetcherSession)和代理轮换能力可以在不被封禁的前提下持续获取数据,DynamicFetcher 则能处理那些需要 JavaScript 渲染才能看到价格的现代电商站点。

    推荐理由

    我自己在做 AI 数据源建设时试用过不少爬取框架,Scrapling 最让我印象深刻的有三点。

    一是它的「自适应」不是噱头。实际跑下来,目标网站小改版(比如某个 div 的 class 名变了,但内容结构没大变),Scrapling 确实有一定概率自动跟上去,不需要立刻人工介入。虽然这不是万能的,但对于长期维护的采集任务来说,能显著减少运维成本。

    二是性能确实能打。官方给出的基准测试里,文本提取速度比 BeautifulSoup + lxml 快约 784 倍。我自己用几个真实页面测了一下,解析速度确实比用 BS4 快得多,内存占用也更友好。

    三是文档写得相当认真。README 里有完整的 API 说明、多个场景的使用示例、性能对比数据,甚至还有一个专门的 ReadTheDocs 文档站。对开源项目来说,这往往比单纯堆功能更有价值——因为别人用得起来,项目才活得下去。

    当然也有需要注意的地方:项目目前还在 v0.4.x,API 可能会有变动;另外部分高级功能(如 StealthyFetcher)依赖较复杂的本地环境配置,新人上手可能需要多花点时间。

    总体来说,如果你需要在 2026 年选一个爬取框架来支撑 AI 相关的数据管道,Scrapling 值得认真考虑。

    下载地址