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

如何解析HTML块特定内容:提取Suggested use与Warning文本

提取HTML中指定内容到独立字段的解决方案

嘿,这事儿不难搞定!我给你两种常用的方法,你可以根据自己的技术栈来选:

方法一:用BeautifulSoup(推荐,处理HTML更可靠)

这是Python里处理HTML解析的标准工具,能轻松定位到你要的内容,容错性也强。

  1. 先安装依赖(如果还没装的话):
pip install beautifulsoup4
  1. 编写解析代码:
from bs4 import BeautifulSoup

# 你的HTML内容
html_content = '<strong>Suggested use:</strong> "This is the suggested use text" <br><br> <strong>Warning:</strong> "This is the warning text"'

# 初始化解析器
soup = BeautifulSoup(html_content, 'html.parser')

# 提取Suggested use对应的文本
suggested_use = soup.find('strong', string='Suggested use:').next_sibling.strip()
# 提取Warning对应的文本
warning = soup.find('strong', string='Warning:').next_sibling.strip()

# 存储到独立字段(比如用字典或类对象)
extracted_data = {
    'suggested_use': suggested_use,
    'warning': warning
}

print(extracted_data)
# 输出:{'suggested_use': '"This is the suggested use text"', 'warning': '"This is the warning text"'}

逻辑很清晰:先找到内容为"Suggested use:"的<strong>标签,再取它的下一个兄弟节点(就是后面的目标文本),最后去掉多余空格。Warning的提取逻辑完全一致。

方法二:用正则表达式(仅当HTML结构完全固定时使用)

如果你的HTML结构永远不会变,也可以用正则来匹配,但要注意:正则处理HTML容易因为结构微小变化(比如多了个空格、标签顺序变了)失效,所以只推荐在简单固定场景下用。

示例代码:

import re

html_content = '<strong>Suggested use:</strong> "This is the suggested use text" <br><br> <strong>Warning:</strong> "This is the warning text"'

# 匹配Suggested use的内容
suggested_match = re.search(r'<strong>Suggested use:</strong>\s*(.*?)\s*<br>', html_content)
suggested_use = suggested_match.group(1) if suggested_match else None

# 匹配Warning的内容
warning_match = re.search(r'<strong>Warning:</strong>\s*(.*)', html_content)
warning = warning_match.group(1).strip() if warning_match else None

# 存储到字段
extracted_data = {
    'suggested_use': suggested_use,
    'warning': warning
}

print(extracted_data)

两种方法都能把你要的内容提取出来并存到独立字段里,优先推荐BeautifulSoup,毕竟专门处理HTML的工具更靠谱~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:14:55