AI 网页数据汇总很容易把“分钟”和“秒”的数字直接相加。先解析固定表格,保留单位与原值,只有相同单位才进入同一汇总口径。
用AI编写网页表格提取与汇总代码的读者。本文使用 Python 3.11 或以上版本的标准库,先验证一组人工构造的小样本。AI 负责提出实现或解释差异,结果由本地检查决定;这里没有把模型回答当成真实运行结果。

核对网页数值和单位前,先定规则
示例HTML是本地虚构两列表,不连外部网站。解析器只收集td单元格,按数值与单位两格成一行。
表头、合并单元格与嵌套元素可能改变结构,不能把本例当通用网页表格解析器。
使用Decimal保留明确十进制运算,单位不一致时失败,不让AI猜换算系数。
给 AI 的输入要包含什么
把下面这份输入说明和你的实际样本一起交给可用的 AI 编程助手。示例只含虚构数据;对真实材料先去除账号凭据和个人信息。
解析本地HTML表格,每行两个td:数值、单位。保留原文字,用Decimal求同单位总和;单位不一致拒绝,不自动换算。输入两行1.5分钟、2.0分钟。
要求模型保留检查条件,并把它认为缺少的业务定义列出来。若回答改变了输入字段、忽略异常分支或直接删除原材料,先要求修正,再运行。提示词的作用是缩小任务范围,验收仍以代码和数据为准。
保存并运行最小验证程序
下方程序把关键规则和验证用例放在同一个可复跑示例中,便于先理解输入如何变成输出,再用它检查 AI 给出的实现。
新建一个空目录,把下面代码保存为 check.py,在该目录打开终端,运行 python -X utf8 check.py。代码自带示例输入,不需要安装第三方库。
from html.parser import HTMLParser
from decimal import Decimal
class Cells(HTMLParser):
def __init__(self): super().__init__();self.cells=[];self.buf=None
def handle_starttag(self,tag,attrs):
if tag=='td': self.buf=''
def handle_data(self,data):
if self.buf is not None: self.buf+=data
def handle_endtag(self,tag):
if tag=='td' and self.buf is not None: self.cells.append(self.buf.strip());self.buf=None
p=Cells();p.feed('<table><tr><td>1.5</td><td>分钟</td></tr><tr><td>2.0</td><td>分钟</td></tr></table>')
assert len(p.cells)%2==0
rows=list(zip(p.cells[::2],p.cells[1::2]))
assert len({u for _,u in rows})==1
total=sum((Decimal(v) for v,_ in rows),Decimal('0'))
assert total==Decimal('3.5')
print('rows',rows)
print('total',str(total),'unit',rows[0][1])
怎样判断结果符合要求
保留两份原数值和分钟单位,总和3.5分钟。不能把这个数字描述成真实网页统计,因为HTML是教学样本。
下方是这份最小示例在本地执行得到的输出。它验证示例程序与断言的关系,不代表任何 AI 模型一次就能生成同样代码,也不构成性能或生产可靠性结论。
rows [('1.5', '分钟'), ('2.0', '分钟')]
total 3.5 unit 分钟
单位不是装饰文字,它影响运算口径。未知单位需要复核而不是删除。
空格清理不能掩盖数值解析失败,千分位与本地小数符号另定规则。
哪些失败必须停下来处理
真实页面含脚本渲染或复杂表格时,先获取实际结构并采用成熟解析器;本例不处理浏览器渲染。
缺失数值、NaN和Infinity需拒绝或隔离,不能用零替代。
接入自己的任务前再核对一次
保存来源URL、表格位置、原值与解析结果,AI结论可以回查。
加一组不同单位和缺值测试,再接入网页数据;不能只测正常表。
资料与适用范围
HTMLParser用于回调解析HTML标签与数据;真实网页结构需要按具体文档核对。以下链接核对于 2026-10-03;运行环境及额外依赖按本文前述说明。
相关基础可阅读 网页怎么整理成 AI 知识库资料?用 Trafilatura 提取正文并保留来源。本文的重点是核对网页数值和单位,可以把两项检查作为不同步骤保留。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/33436.html