Skip to main content
Beautiful Soup 是一个用于解析 HTMLXML 文档(包括格式不规范的标记,即未闭合标签,因此得名”标签汤”)的 Python 包。它为已解析的页面创建解析树,可用于从 HTML 中提取数据,非常适合网络抓取。
Beautiful Soup 提供对 HTML 内容的细粒度控制,支持特定标签提取、删除和内容清理。 它适用于需要提取特定信息并根据需求清理 HTML 内容的场景。 例如,我们可以从 HTML 内容中抓取 <p>、<li>、<div> 和 <a> 标签内的文本内容:
  • <p>:段落标签,用于定义 HTML 中的段落,将相关的句子和/或短语组合在一起。
  • <li>:列表项标签,用于有序列表(<ol>)和无序列表(<ul>)中,定义列表中的各个条目。
  • <div>:分区标签,是一个块级元素,用于将其他内联或块级元素分组。
  • <a>:锚点标签,用于定义超链接。
from langchain_community.document_loaders import AsyncChromiumLoader
from langchain_community.document_transformers import BeautifulSoupTransformer

# 加载 HTML
loader = AsyncChromiumLoader(["https://www.wsj.com"])
html = loader.load()
# 转换
bs_transformer = BeautifulSoupTransformer()
docs_transformed = bs_transformer.transform_documents(
    html, tags_to_extract=["p", "li", "div", "a"]
)
docs_transformed[0].page_content[0:500]
'Conservative legal activists are challenging Amazon, Comcast and others using many of the same tools that helped kill affirmative-action programs in colleges.1,2099 min read U.S. stock indexes fell and government-bond prices climbed, after Moody\'s lowered credit ratings for 10 smaller U.S. banks and said it was reviewing ratings for six larger ones. The Dow industrials dropped more than 150 points.3 min read Penn Entertainment\'s Barstool Sportsbook app will be rebranded as ESPN Bet this fall as '