RecursiveUrlLoader 允许您从根 URL 递归抓取所有子链接,并将其解析为 Document 对象。
概述
集成详情
| 类 | 包 | 本地 | 可序列化 | JS 支持 |
|---|---|---|---|---|
| RecursiveUrlLoader | langchain-community | ✅ | ❌ | ✅ |
加载器特性
| 来源 | 文档懒加载 | 原生异步支持 |
|---|---|---|
| RecursiveUrlLoader | ✅ | ❌ |
设置
凭据
使用RecursiveUrlLoader 无需任何凭据。
安装
RecursiveUrlLoader 位于 langchain-community 包中。无需其他必要包,但如果安装了 beautifulsoup4,则可获得更丰富的默认文档元数据。
实例化
现在我们可以实例化文档加载器对象并加载文档:加载
使用.load() 同步将所有 Document 加载到内存中,每个访问的 URL 对应一个 Document。从初始 URL 开始,递归遍历所有链接的 URL,直到达到指定的 max_depth。
让我们通过一个基本示例,演示如何在 Python 3.9 文档 上使用 RecursiveUrlLoader。
懒加载
如果我们要加载大量 Document,且下游操作可以分批处理,可以逐一懒加载文档,以最小化内存占用:添加提取器
默认情况下,加载器将每个链接的原始 HTML 设置为 Document 的页面内容。若要将此 HTML 解析为更适合人类/LLM 阅读的格式,可以传入自定义的extractor 方法:
metadata_extractor 来自定义从 HTTP 响应中提取 Document 元数据的方式。更多信息请参阅 API 参考。
API 参考
以上示例仅展示了几种修改默认RecursiveUrlLoader 的方式,但还有更多配置可以更好地满足您的使用场景。使用 link_regex 和 exclude_dirs 参数可以过滤掉不需要的 URL;aload() 和 alazy_load() 可用于异步加载等。
有关配置和调用 RecursiveUrlLoader 的详细信息,请参阅 API 参考:python.langchain.com/api_reference/community/document_loaders/langchain_community.document_loaders.recursive_url_loader.RecursiveUrlLoader.html。
将这些文档连接 到 Claude、VSCode 等,通过 MCP 获取实时答案。

