SitemapLoader 继承自 WebBaseLoader,它从给定的 URL 加载站点地图,然后抓取并加载站点地图中的所有页面,将每个页面作为 Document 返回。
抓取是并发进行的。并发请求有合理的限制,默认为每秒 2 次。如果您不关心成为良好公民,或者您控制被抓取的服务器,或者不关心负载,您可以增加此限制。请注意,虽然这会加快抓取过程,但可能会导致服务器阻止您。请小心!
概述
集成详情
| 类 | 包 | 本地 | 可序列化 | JS 支持 |
|---|---|---|---|---|
SiteMapLoader | langchain-community | ✅ | ❌ | ✅ |
加载器特性
| 源 | 文档延迟加载 | 原生异步支持 |
|---|---|---|
SiteMapLoader | ✅ | ❌ |
设置
要访问 SiteMap 文档加载器,您需要安装langchain-community 集成包。
凭据
运行此程序不需要凭据。 要启用模型调用的自动跟踪,请设置您的 LangSmith API 密钥:安装
安装 langchain-community。修复笔记本 asyncio 错误
初始化
现在我们可以实例化我们的模型对象并加载文档:加载
requests_per_second 参数以增加最大并发请求。并使用 requests_kwargs 在发送请求时传递 kwargs。
延迟加载
您也可以延迟加载页面以最小化内存负载。过滤站点地图 URL
站点地图可能是巨大的文件,包含数千个 URL。通常您不需要每一个。您可以通过向filter_urls 参数传递字符串列表或正则表达式模式来过滤 URL。只有匹配其中一个模式的 URL 才会被加载。
添加自定义抓取规则
SitemapLoader 使用 beautifulsoup4 进行抓取过程,默认情况下会抓取页面上的每个元素。SitemapLoader 构造函数接受一个自定义抓取函数。此功能有助于根据您的特定需求调整抓取过程;例如,您可能希望避免抓取标题或导航元素。
以下示例展示了如何开发和使用自定义函数来避免导航和标题元素。
导入 beautifulsoup4 库并定义自定义函数。
SitemapLoader 对象。
本地站点地图
站点地图加载器也可用于加载本地文件。API 参考
有关所有SiteMapLoader 功能和配置的详细文档,请前往 API 参考
通过 MCP 将这些文档连接到 Claude、VSCode 等 以获取实时答案。

