Skip to main content
SitemapLoader 继承自 WebBaseLoader,它从给定的 URL 加载站点地图,然后抓取并加载站点地图中的所有页面,将每个页面作为一个 Document 返回。 抓取过程是并发进行的。并发请求有合理的限制,默认为每秒 2 次。如果你不担心成为“好公民”,或者你控制着被抓取的服务器,或者不关心负载,你可以增加这个限制。请注意,虽然这会加快抓取过程,但可能会导致服务器阻止你。请小心!

概述

集成详情

加载器特性

设置

要访问 SiteMap 文档加载器,你需要安装 langchain-community 集成包。

凭证

运行此功能不需要任何凭证。 要启用对模型调用的自动跟踪,请设置你的 LangSmith API 密钥:

安装

安装 langchain-community

修复 notebook asyncio 错误

初始化

现在我们可以实例化模型对象并加载文档:

加载

你可以更改 requests_per_second 参数以增加最大并发请求数。并使用 requests_kwargs 在发送请求时传递关键字参数。

延迟加载

你也可以延迟加载页面以最小化内存负载。

过滤站点地图 URL

站点地图可能是巨大的文件,包含数千个 URL。通常你不需要其中的每一个。你可以通过向 filter_urls 参数传递字符串列表或正则表达式模式来过滤 URL。只有匹配其中一个模式的 URL 才会被加载。

添加自定义抓取规则

SitemapLoader 在抓取过程中使用 beautifulsoup4,默认情况下会抓取页面上的每个元素。SitemapLoader 构造函数接受一个自定义抓取函数。此功能有助于根据你的特定需求定制抓取过程;例如,你可能希望避免抓取标题或导航元素。 以下示例展示了如何开发和使用自定义函数来避免导航和标题元素。 导入 beautifulsoup4 库并定义自定义函数。
将你的自定义函数添加到 SitemapLoader 对象。

本地站点地图

站点地图加载器也可用于加载本地文件。

API 参考

有关所有 SiteMapLoader 功能和配置的详细文档,请访问 API 参考