AI 快讯 编译自 marktechpost #工具教程#爬虫#RAG

Crawlee for Python 教程:构建爬虫管道,支持 robots 处理、链接图与 RAG 分块导出

本文详细教程演示如何使用 Crawlee for Python 构建完整的网页爬取管道,包括静态/动态爬虫、结构化数据提取、链接图构建以及 RAG 分块导出,适合需要将网页数据转化为 AI 训练数据的开发者。

编译发布 2026/06/21 原文发布 2026/06/21

一句话看懂

Crawlee for Python 发布完整教程,教你从零搭建爬虫管道,支持 robots.txt 处理、动态渲染、链接图分析,并直接导出 RAG 分块 JSONL。

详细发生了什么

Crawlee 是一个用于 Python 的网页爬取框架,支持静态和动态内容抓取。本教程由 Sana Hassan 撰写,完整演示了从环境配置到 AI 就绪数据输出的全流程。

教程首先在 Colab 中配置 Crawlee 运行时,安装兼容的 Pydantic 和 Playwright 依赖。然后生成一个包含产品页、文档页、博客内容、内部链接、robots.txt 规则、JSON-LD 元数据以及 JavaScript 渲染目录的本地演示网站。

使用三种爬虫进行不同场景的抓取:

  • BeautifulSoupCrawler:快速递归 HTML 爬取,提取标题、元数据、文本预览、出站链接、产品属性、文档标题、代码块和博客标签。
  • ParselCrawler:基于 CSS 和 XPath 选择器精确提取产品详情页数据。
  • PlaywrightCrawler:在无头 Chromium 浏览器中渲染 JavaScript 内容,等待动态 DOM 元素出现,提取客户端数据并捕获全页截图。

抓取完成后,教程展示如何规范化数据、构建链接图(使用 NetworkX 可视化),并导出为 JSON、CSV 以及 RAG 就绪的 JSONL 分块格式。每个分块包含文本内容、元数据(如 URL、标题、类型)和向量嵌入所需的字段。

中文圈视角

对于中文开发者,这个教程有几点值得关注:

  1. RAG 数据准备:当前中文 RAG 应用(如知识库问答、文档检索)常面临数据清洗难题。Crawlee 的 JSONL 分块导出功能可以直接对接 LangChain、LlamaIndex 等框架,减少数据预处理工作量。但需注意,教程中的分块策略是简单的固定长度分割,中文场景可能需要调整分词逻辑。

  2. 国产平替:国内类似工具有 SpiderFlow(可视化爬虫)和 EasySpider,但 Crawlee 的优势在于与 Playwright 深度集成,能处理复杂 JS 渲染页面。对于需要大规模、结构化抓取的场景,Crawlee 是更专业的选择。

  3. 合规提醒:爬虫必须遵守 robots.txt 和网站使用条款。教程中明确演示了 robots 处理,但中文网站对爬虫的容忍度不同,尤其涉及商业数据时需谨慎。建议结合国内《数据安全法》评估风险。

  4. 中文内容适配:教程中的演示网站是英文,但 Crawlee 支持 Unicode,抓取中文内容没有问题。不过,中文分词(如 jieba)和编码处理需要额外步骤,教程未涉及,开发者需自行补充。

几条值得记住的细节

  • 教程使用 Crawlee 0.5+Pydantic 2.11,Colab 环境需先安装 Playwright 浏览器。
  • 三种爬虫各有侧重:BeautifulSoupCrawler 适合静态页面,ParselCrawler 适合精确提取,PlaywrightCrawler 适合 JS 渲染页面。
  • 链接图使用 NetworkX 构建,可可视化页面间关系,帮助理解网站结构。
  • RAG 分块导出为 JSONL 格式,每行包含 textmetadatachunk_id,可直接用于向量数据库。
  • 教程代码完整可运行,包含 Colab 自动重启逻辑,适合新手跟随操作。

一句话总结

如果你需要将网页数据转化为 RAG 可用的结构化分块,Crawlee for Python 教程提供了一个从爬取到导出的完整参考实现。