BSHTMLLoader
本笔记本提供了 BeautifulSoup4 文档加载器 的快速入门概述。有关所有 __ModuleName__Loader 功能和配置的详细文档,请查阅 API 参考。
概述
集成详情
| 类别 | 包 | 本地 | 可序列化 | JS 支持 | 
|---|---|---|---|---|
| BSHTMLLoader | langchain_community | ✅ | ❌ | ❌ | 
加载器功能
| 来源 | 文档延迟加载 | 原生异步支持 | 
|---|---|---|
| BSHTMLLoader | ✅ | ❌ | 
设置
要访问 BSHTMLLoader 文档加载器,您需要安装 langchain-community 集成包和 bs4 Python 包。
凭证
使用 BSHTMLLoader 类无需凭据。
要启用模型调用的自动跟踪,请设置您的 LangSmith API 密钥
# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
# os.environ["LANGSMITH_TRACING"] = "true"
安装
安装 langchain_community 和 bs4。
%pip install -qU langchain_community bs4
初始化
现在我们可以实例化我们的模型对象并加载文档
- 待办:使用相关参数更新模型实例化。
from langchain_community.document_loaders import BSHTMLLoader
loader = BSHTMLLoader(
    file_path="./example_data/fake-content.html",
)
API 参考:BSHTMLLoader
加载
docs = loader.load()
docs[0]
Document(metadata={'source': './example_data/fake-content.html', 'title': 'Test Title'}, page_content='\nTest Title\n\n\nMy First Heading\nMy first paragraph.\n\n\n')
print(docs[0].metadata)
{'source': './example_data/fake-content.html', 'title': 'Test Title'}
延迟加载
page = []
for doc in loader.lazy_load():
    page.append(doc)
    if len(page) >= 10:
        # do some paged operation, e.g.
        # index.upsert(page)
        page = []
page[0]
Document(metadata={'source': './example_data/fake-content.html', 'title': 'Test Title'}, page_content='\nTest Title\n\n\nMy First Heading\nMy first paragraph.\n\n\n')
向 BS4 添加分隔符
我们还可以传入一个分隔符,以便在对 soup 调用 get_text 时使用。
loader = BSHTMLLoader(
    file_path="./example_data/fake-content.html", get_text_separator=", "
)
docs = loader.load()
print(docs[0])
page_content='
, Test Title, 
, 
, 
, My First Heading, 
, My first paragraph., 
, 
, 
' metadata={'source': './example_data/fake-content.html', 'title': 'Test Title'}
API 参考
有关所有 BSHTMLLoader 功能和配置的详细文档,请查阅 API 参考: https://python.langchain.ac.cn/api_reference/community/document_loaders/langchain_community.document_loaders.html_bs.BSHTMLLoader.html