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

如何移除HTML标签提取文本?附示例代码与预期结果

移除HTML标签提取文本的实现方法

方法一:使用BeautifulSoup(推荐)

BeautifulSoup是专门处理HTML/XML的解析库,能应对各种复杂的HTML结构,解析结果更可靠。

  1. 先安装依赖库:
pip install beautifulsoup4
  1. 实现get_text函数:
from bs4 import BeautifulSoup

def get_text(text):
    # 解析HTML文本
    soup = BeautifulSoup(text, 'html.parser')
    # 找到所有<option>标签
    option_tags = soup.find_all('option')
    # 提取每个标签内的文本并去除首尾空白
    return [tag.get_text(strip=True) for tag in option_tags]
  1. 测试调用:
text = """
<option value="tfa_4472" id="tfa_4472" class="">helo 1</option>
<option value="tfa_4473" id="tfa_4473" class="">helo 2</option>
<option value="tfa_4474" id="tfa_4474" class="">helo 3</option>
<option value="tfa_4475" id="tfa_4475" class="">helo 4</option>
<option value="tfa_4476" id="tfa_4476" class="">helo 5</option>
"""

my_list = get_text(text)
for item in my_list:
    print(item)

运行后输出:

helo 1
helo 2
helo 3
helo 4
helo 5

方法二:使用正则表达式(适合简单场景)

如果你的HTML结构非常规整,没有嵌套标签或特殊格式,也可以用正则快速提取。但注意正则无法处理复杂HTML,容易出现匹配错误。

实现代码:

import re

def get_text(text):
    # 匹配<option>标签内的内容,捕获组提取文本
    regex_pattern = re.compile(r'<option[^>]*>(.*?)</option>', re.DOTALL)
    # 找出所有匹配项
    raw_matches = regex_pattern.findall(text)
    # 清理每个匹配结果的空白字符
    return [match.strip() for match in raw_matches]

调用后同样能得到目标输出。

内容的提问来源于stack exchange,提问作者Hoàng Tuyến

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:20:30