You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python高效去除HTML标签提取纯文本字符串?

提取BeautifulSoup Tag元素的纯文本

最可靠高效的方法:使用get_text()内置方法

BeautifulSoup已经提供了专门提取纯文本的get_text()方法,能自动处理所有HTML标签(包括<div>、<br>),无需手动写正则,避免解析错误。

基础用法

直接调用Tag对象的get_text(),可以选择是否去除多余空白、指定分隔符:

# 假设你已经获取了class为inner的Tag元素 inner_tag
# 提取纯文本并去除首尾/中间多余空白
pure_text = inner_tag.get_text(strip=True)

# 如果需要保留<br>或<div>带来的换行结构,指定separator参数
pure_text_with_line_breaks = inner_tag.get_text(separator='\n', strip=True)

示例演示

from bs4 import BeautifulSoup

# 模拟你的HTML结构
html_content = """
<div class="inner">
    <div>第一部分文本</div>
    <br>
    第二部分文本
    <div>嵌套的<div>第三部分</div>文本</div>
</div>
"""

soup = BeautifulSoup(html_content, 'html.parser')
inner_tag = soup.find(class_='inner')

# 无换行的纯文本
print(inner_tag.get_text(strip=True))
# 输出:第一部分文本第二部分文本第三部分文本

# 保留换行的纯文本
print(inner_tag.get_text(separator='\n', strip=True))
# 输出:
# 第一部分文本
# 第二部分文本
# 嵌套的
# 第三部分
# 文本

为什么不推荐正则?

正则表达式处理HTML标签容易出现遗漏(比如嵌套标签、带属性的标签),而get_text()是基于DOM解析的,能准确遍历所有文本节点,更稳定高效。

内容的提问来源于stack exchange,提问作者Los

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:55:18