BSHTMLLoader#

class langchain_community.document_loaders.html_bs.BSHTMLLoader(file_path: str | Path, open_encoding: str | None = None, bs_kwargs: dict | None = None, get_text_separator: str = '')[source]#

__ModuleName__ document loader integration

Setup:

Install langchain-community and bs4.

pip install -U langchain-community bs4
Instantiate:
from langchain_community.document_loaders import BSHTMLLoader

loader = BSHTMLLoader(
    file_path="./example_data/fake-content.html",
)
Lazy load:
docs = []
docs_lazy = loader.lazy_load()

# async variant:
# docs_lazy = await loader.alazy_load()

for doc in docs_lazy:
    docs.append(doc)
print(docs[0].page_content[:100])
print(docs[0].metadata)
Test Title


My First Heading
My first paragraph.



{'source': './example_data/fake-content.html', 'title': 'Test Title'}
Async load:
docs = await loader.aload()
print(docs[0].page_content[:100])
print(docs[0].metadata)
Test Title


My First Heading
My first paragraph.



{'source': './example_data/fake-content.html', 'title': 'Test Title'}

initialize with path, and optionally, file encoding to use, and any kwargs to pass to the BeautifulSoup object.

Parameters:
  • file_path (str | Path) – The path to the file to load.

  • open_encoding (str | None) – The encoding to use when opening the file.

  • bs_kwargs (dict | None) – Any kwargs to pass to the BeautifulSoup object.

  • get_text_separator (str) – The separator to use when calling get_text on the soup.

Methods

__init__(file_path[,Β open_encoding,Β ...])

initialize with path, and optionally, file encoding to use, and any kwargs to pass to the BeautifulSoup object.

alazy_load()

A lazy loader for Documents.

aload()

Load data into Document objects.

lazy_load()

Load HTML document into document objects.

load()

Load data into Document objects.

load_and_split([text_splitter])

Load Documents and split into chunks.

__init__(file_path: str | Path, open_encoding: str | None = None, bs_kwargs: dict | None = None, get_text_separator: str = '') β†’ None[source]#

initialize with path, and optionally, file encoding to use, and any kwargs to pass to the BeautifulSoup object.

Parameters:
  • file_path (str | Path) – The path to the file to load.

  • open_encoding (str | None) – The encoding to use when opening the file.

  • bs_kwargs (dict | None) – Any kwargs to pass to the BeautifulSoup object.

  • get_text_separator (str) – The separator to use when calling get_text on the soup.

Return type:

None

async alazy_load() β†’ AsyncIterator[Document]#

A lazy loader for Documents.

Return type:

AsyncIterator[Document]

async aload() β†’ List[Document]#

Load data into Document objects.

Return type:

List[Document]

lazy_load() β†’ Iterator[Document][source]#

Load HTML document into document objects.

Return type:

Iterator[Document]

load() β†’ List[Document]#

Load data into Document objects.

Return type:

List[Document]

load_and_split(text_splitter: TextSplitter | None = None) β†’ List[Document]#

Load Documents and split into chunks. Chunks are returned as Documents.

Do not override this method. It should be considered to be deprecated!

Parameters:

text_splitter (Optional[TextSplitter]) – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Returns:

List of Documents.

Return type:

List[Document]

Examples using BSHTMLLoader