langchain_community.document_loaders.sitemap
.SitemapLoader¶
- class langchain_community.document_loaders.sitemap.SitemapLoader(web_path: str, filter_urls: Optional[List[str]] = None, parsing_function: Optional[Callable] = None, blocksize: Optional[int] = None, blocknum: int = 0, meta_function: Optional[Callable] = None, is_local: bool = False, continue_on_failure: bool = False, restrict_to_same_domain: bool = True, **kwargs: Any)[source]¶
加载 sitemap 和其 URL。
- 安全提示:此加载器可以加载 sitemap 中指定的所有 URL。
如果恶意用户获得对 sitemap 的访问权限,他们可以通过修改 sitemap 来迫使服务器加载来自其他域的 URL。这可能导致服务器端请求伪造(SSRF)攻击;例如,攻击者可能迫使服务器加载不公开可访问的内部服务端点。虽然攻击者可能不会立即获得这些数据,但这些数据可能会泄漏到下游系统(例如,数据加载器用于加载数据以进行索引)。
该加载器是一个爬虫,一般不应在网络访问任何内部服务器时部署爬虫。
控制谁可以提交爬虫请求以及爬虫的有哪些网络访问权限。
默认情况下,如果站点地图不是本地文件,加载器将仅从与站点地图相同的域加载URL。通过将 restrict_to_same_domain 设置为 False(不推荐)可以禁用此功能。
如果站点地图是本地文件,默认情况下不会应用此类风险缓解措施。
使用 filter_urls 参数来限制可以加载的哪些URL。
使用网页路径和可选的 filter_urls 参数进行初始化。
- 参数
web_path (str) – 站点地图的URL。也可以是本地路径
filter_urls (Optional[List[str]]) – 正则表达式列表。指定后,仅加载与 filter_urls 匹配一个的 URL。 注意 filter_urls 被解释为正则表达式。如果您不想将特殊字符解释为正则表达式语法,请记住对其进行转义。例如,. 在 URL 中出现频率很高,如果要匹配字面意义的 .,则应将其转义。当 restrict_to_same_domain 为 True 并且站点地图不是本地文件时,restrict_to_same_domain 优先于 filter_urls。
parsing_function (Optional[Callable]) – 解析 bs4.Soup 输出的函数
blocksize (Optional[int]) – 每个块的站点地图位置数
blocknum (int) – 应加载的块编号 - 从零开始索引。默认值:0
meta_function (Optional[Callable]) – 解析 bs4.Soup 输出以获取元数据的函数,当设置此方法时,记得将元数据["loc"] 复制到 meta["source"] 中,如果您使用此字段
is_local (bool) – 站点地图是否是本地文件。默认值:False
continue_on_failure (bool) – 如果在加载 URL 时发生错误,是否继续加载站点地图,发出警告而不是引发异常。将此设置为 True 使得加载器更健壮,但也可能导致数据丢失。默认值:False
restrict_to_same_domain (bool) – 是否限制将加载的 URL 限制为与站点地图相同的域名。注意:这仅在站点地图不是本地文件时适用!
max_depth (int) – 跟踪站点地图链接的最大深度。默认值:10
kwargs (Any) –
属性
web_path
方法
__init__
(web_path[, filter_urls, ...])使用网页路径和可选的 filter_urls 参数进行初始化。
Documents 的懒加载器。
aload
()从 web_path 中的 URL 异步加载数据到 Documents 中。
fetch_all
(urls)使用速率限制同时获取所有 URL。
加载站点地图。
load
()将数据加载到 Document 对象中。
load_and_split
([text_splitter])加载 Documents 并将其拆分为块。
parse_sitemap
(soup, *[, depth])解析 sitemap xml 并将其加载为字典列表。
scrape
([解析器])从网页抓取数据,并以BeautifulSoup格式返回。
scrape_all
(urls[, 解析器])检索所有url,然后为所有结果返回soup。
- __init__(web_path: str, filter_urls: Optional[List[str]] = None, parsing_function: Optional[Callable] = None, blocksize: Optional[int] = None, blocknum: int = 0, meta_function: Optional[Callable] = None, is_local: bool = False, continue_on_failure: bool = False, restrict_to_same_domain: bool = True, **kwargs: Any)[源代码]¶
使用网页路径和可选的 filter_urls 参数进行初始化。
- 参数
web_path (str) – 站点地图的URL。也可以是本地路径
filter_urls (Optional[List[str]]) – 正则表达式列表。指定后,仅加载与 filter_urls 匹配一个的 URL。 注意 filter_urls 被解释为正则表达式。如果您不想将特殊字符解释为正则表达式语法,请记住对其进行转义。例如,. 在 URL 中出现频率很高,如果要匹配字面意义的 .,则应将其转义。当 restrict_to_same_domain 为 True 并且站点地图不是本地文件时,restrict_to_same_domain 优先于 filter_urls。
parsing_function (Optional[Callable]) – 解析 bs4.Soup 输出的函数
blocksize (Optional[int]) – 每个块的站点地图位置数
blocknum (int) – 应加载的块编号 - 从零开始索引。默认值:0
meta_function (Optional[Callable]) – 解析 bs4.Soup 输出以获取元数据的函数,当设置此方法时,记得将元数据["loc"] 复制到 meta["source"] 中,如果您使用此字段
is_local (bool) – 站点地图是否是本地文件。默认值:False
continue_on_failure (bool) – 如果在加载 URL 时发生错误,是否继续加载站点地图,发出警告而不是引发异常。将此设置为 True 使得加载器更健壮,但也可能导致数据丢失。默认值:False
restrict_to_same_domain (bool) – 是否限制将加载的 URL 限制为与站点地图相同的域名。注意:这仅在站点地图不是本地文件时适用!
max_depth (int) – 跟踪站点地图链接的最大深度。默认值:10
kwargs (Any) –
- async fetch_all(urls: List[str]) Any¶
使用速率限制同时获取所有 URL。
- 参数
urls (List[str]) –
- 返回类型
任意的
- load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]¶
加载文档并将它们分割成块。块作为文档返回。
不要重写此方法。应考虑将其弃用!
- 参数
text_splitter (可选[TextSplitter]) – 用于分割文档的 TextSplitter 实例。默认为 RecursiveCharacterTextSplitter。
- 返回
文档列表。
- 返回类型
列表[Document]
- parse_sitemap(soup: Any, *, depth: int = 0) List[dict] [source]¶
解析 sitemap xml 并将其加载为字典列表。
- 参数
soup (Any) – BeautifulSoup 对象。
depth (int) – sitemap 的当前深度。默认:0
- 返回
列表[dict]
- 返回类型
列表[dict]
- scrape(parser: Optional[str] = None) Any ¶
从网页抓取数据,并以BeautifulSoup格式返回。
- 参数
parser (可选[str]) –
- 返回类型
任意的
- scrape_all(urls: List[str], parser: Optional[str]) List[Any] ¶
检索所有url,然后为所有结果返回soup。
- 参数
urls (List[str]) –
parser (可选[str]) –
- 返回类型
列表[任何类型]