RecursiveUrlLoader 允许您递归地抓取根 URL 的所有子链接并将它们解析为文档。
概览
集成详情
| 类别 | 包 | 本地 | 可序列化 | JS 支持 |
|---|---|---|---|---|
| RecursiveUrlLoader | langchain-community | ✅ | ❌ | ✅ |
加载器功能
| 来源 | 文档延迟加载 | 原生异步支持 |
|---|---|---|
| RecursiveUrlLoader | ✅ | ❌ |
设置
凭据
使用RecursiveUrlLoader 无需凭据。
安装
RecursiveUrlLoader 位于 langchain-community 包中。没有其他必需的包,但如果您也安装了“beautifulsoup4”,您将获得更丰富的默认文档元数据。
实例化
现在我们可以实例化文档加载器对象并加载文档加载
使用.load() 将所有文档同步加载到内存中,每个访问的 URL 一个文档。从初始 URL 开始,我们递归遍历所有链接的 URL,直到达到指定的 max_depth。 让我们运行一个基本示例,演示如何在 Python 3.9 文档 上使用 RecursiveUrlLoader。懒加载
如果我们要加载大量文档,并且下游操作可以在所有已加载文档的子集上完成,我们可以一次惰性加载一个文档,以最大限度地减少内存占用添加提取器
默认情况下,加载器将每个链接的原始 HTML 设置为文档页面内容。要将此 HTML 解析为更适合人类/LLM 的格式,您可以传入自定义的extractor 方法
metadata_extractor 来自定义如何从 HTTP 响应中提取文档元数据。有关此内容的更多信息,请参阅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 获取实时答案。