标签: 爬虫

  • 【开源推荐】crawl4ai:68.3K+ Stars!专为LLM设计的网页爬虫,让AI直接读懂网页内容

    【开源推荐】crawl4ai:68.3K+ Stars!专为LLM设计的网页爬虫,让AI直接读懂网页内容

    crawl4ai - LLM友好网页爬虫工具

    crawl4ai – 专为LLM和AI Agent设计的网页爬虫工具 @reference_1@

    📌 项目简介

    crawl4ai 是一款专为LLM和AI Agent设计的开源网页爬虫工具,能将任意网页内容转换为干净的Markdown格式,可直接用于RAG、AI Agent、数据管道等场景,无需依赖任何付费API。

    68.3K+
    GitHub Stars

    Python
    开发语言

    v0.6+
    最新版本

    ⚙️
    安装要求和过程

    环境要求

    • Python ≥ 3.10
    • Playwright(用于异步浏览器控制)
    • 支持 Windows / macOS / Linux

    快速安装(4步搞定)

    # 第1步:安装 crawl4ai
    pip install -U crawl4ai
    # 第2步:配置浏览器依赖
    crawl4ai-setup
    # 第3步:验证安装
    crawl4ai-doctor
    # (可选)如 Playwright 报错,手动安装浏览器
    python -m playwright install chromium

    Docker 部署(生产推荐)

    # 拉取官方镜像
    docker pull unclecode/crawl4ai:latest
    # 启动容器
    docker run -d -p 11235:11235 –name crawl4ai –shm-size=1g unclecode/crawl4ai:latest
    # 访问监控面板
    http://localhost:11235/dashboard


    核心功能

    ① 智能 Markdown 生成

    生成结构清晰、格式准确的干净 Markdown,支持 Fit Markdown 启发式过滤,自动剔除无关噪音内容。支持 BM25 算法过滤,可提取核心信息,更适合 AI 处理。

    ② LLM 驱动的结构化数据提取

    支持所有 LLM(开源/闭源)驱动的结构化数据提取。内置多种分块策略,支持基于用户查询的语义内容匹配,可通过自定义 Schema 从重复页面模式中批量提取结构化 JSON。

    ③ 浏览器深度集成

    支持托管用户自有浏览器,通过 Chrome DevTools 协议实现远程浏览器控制。支持浏览器配置文件持久化(保存认证状态、Cookie),完美支持需要登录的网站爬取。

    ④ 动态页面与反爬对抗

    支持执行 JavaScript、等待异步动态内容加载、处理无限滚动页面。提供隐身模式模拟真实用户行为,支持自定义请求头、Cookie、User-Agent 和代理认证,有效绕过常见反爬限制。

    ⑤ Docker 一键部署 + API 服务

    提供优化后的 Docker 镜像,内置 FastAPI 服务,开箱即用。内置 JWT 令牌认证保障 API 安全,支持大规模生产环境部署,是构建数据采集基础设施的最佳选择。

    💡
    典型使用场景

    场景1:RAG 知识库数据准备

    将网页内容转换为干净 Markdown,作为 RAG 系统的知识库来源。crawl4ai 的 Fit Markdown 功能可自动过滤导航栏、广告、页脚等噪音,只保留核心正文,避免无关内容干扰大模型输出。配合深度爬取(BFS/DFS策略)可批量采集整个网站。

    场景2:AI Agent 实时信息获取工具

    将 crawl4ai 封装为 AI Agent 的工具函数,让 Agent 能够自主爬取所需网页内容。比如用户问”今天有哪些 AI 新闻?”,Agent 可自动爬取新闻网站并提取结构化信息,真正实现 AI 联网能力。

    场景3:大规模数据采集管道

    结合 Docker 部署、浏览器池、缓存机制,搭建大规模高并发网页数据采集系统。内置的浏览器配置文件持久化能力,可保存登录状态实现需要认证的网站批量采集,适合构建企业级数据采集基础设施。

    🚀 30秒快速开始

    Python 代码方式:
    import asyncio
    from crawl4ai import *

    async def main():
    async with AsyncWebCrawler() as crawler:
    result = await crawler.arun(url=”https://example.com”)
    print(result.markdown) # 获取干净 Markdown

    if __name__ == “__main__”:
    asyncio.run(main())

    CLI 命令行方式:
    crwl https://example.com -o markdown
    # 深度爬取,最多10个页面
    crwl https://docs.crawl4ai.com –deep-crawl bfs –max-pages 10

    💝
    推荐理由

    如果你正在构建 RAG 系统或 AI Agent,crawl4ai 是目前开源界最值得关注的网页数据采集工具。它解决了传统爬虫的两个核心痛点:

    第一,真正为 LLM 优化。 传统爬虫输出的是原始 HTML 或杂乱文本,需要大量后处理才能喂给大模型。crawl4ai 直接输出干净、结构化的 Markdown,内置的 Fit Markdown 功能可以智能过滤导航、广告等噪音,让 RAG 召回质量大幅提升。

    第二,对动态页面和反爬场景的支持非常完善。 基于 Playwright 的浏览器控制,可以处理 React/Vue 等前端框架渲染的页面,支持等待异步内容加载、处理无限滚动。隐身模式和浏览器指纹自定义功能,让我在采集一些有反爬机制的网站时也能稳定获取数据。

    最让我惊喜的是它的 Docker 部署方案。 几分钟就能搭建一个带 API 服务的爬取引擎,内置 JWT 认证,可以直接集成到现有数据管道中。对于需要大规模采集的场景,这比手写 Scrapy 爬虫效率高太多了。

    ⭐ 总之,如果你需要为 AI 应用添加网页数据获取能力,crawl4ai 是目前最成熟的开源选择,没有之一。

    📥 下载地址

    License: Apache 2.0 | 作者: UncleCode | 最近更新: 2026年6月

    💡 关注【开源推荐】系列,每周带你发现最值得关注的 AI 开源项目
    ⭐ 如果这篇文章对你有帮助,欢迎在 WordPress 点赞留言!

  • 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 值得认真考虑。

    下载地址