ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

别直接把HTML丢给大模型!非结构化页面解析:Prompt/成本/准确率全实测

别直接把HTML丢给大模型!非结构化页面解析:Prompt/成本/准确率全实测 上个月接了个行业资讯聚合的项目二十多个垂直网站的资讯详情页结构千奇百怪有的用div层层嵌套正文有的是老式table排版还有的正文插在两个广告块中间连个统一的容器标签都没有。一开始图省事把整页HTML直接丢给大模型提取标题、正文、发布时间结果跑了一千页抽样一看准确率才71%——要么漏了首段正文要么把侧边栏的推荐阅读当正文甚至有的把页脚版权信息算进了作者。更坑的是成本一页平均八千多token跑一千页花了两百多光测试成本就超了预算。后来沉下心花了一周时间从预处理降噪、Prompt结构到后置校验全链路做了优化最后跑下来准确率稳定在93%左右单页token成本降到原来的四分之一二十多个站点的维护量还不到原来的十分之一。今天就把完整的优化思路、可直接复用的Prompt模板、以及成本和准确率的全维度实测数据全部分享出来。一、三个误区90%的人用大模型解析都踩过很多人觉得大模型能力强随便丢段HTML进去就能出结果实际用起来才发现效果差、成本高、不稳定。本质上都是踩了这三个基础误区。1. 全量HTML投喂噪声比内容多很多人图省事F12复制出来的HTML直接丢进去。殊不知一个普通详情页script、style、导航栏、侧边广告、相关推荐、页脚版权这些无关内容占了整个页面90%以上的token量。不仅成本翻几倍大量的噪声信息还会干扰大模型的语义判断很容易把广告、推荐当成正文提取。2. 一句话Prompt全靠大模型自由发挥“帮我提取页面里的标题、时间、正文”这是很多人常用的Prompt。没有结构约束没有规则说明没有边界定义输出结果自然五花八门格式有JSON有纯文本字段有的有有的缺正文有的带广告有的漏段落。准确率能高才怪。3. 转纯文本提取丢了半条关键信息还有人为了省token把HTML转成纯文本再提取。结果链接地址、图片URL、表格结构这些关键信息全丢了最后提取出来的正文只剩文字配图、跳转链接全没了数据可用性直接打对折。二、三层优化架构兼顾准确率、成本、稳定性真正能落地的大模型解析方案一定是「预处理降噪 结构化Prompt 后置校验」的三层架构每一层都有明确的投入产出比。预处理层砍掉70%成本的最优选预处理是整个链路里性价比最高的一步没有之一。只需要几十行代码就能把token量砍掉四分之三同时因为排除了噪声准确率还能反向提升。核心不是把HTML转成纯文本而是精简HTML保留语义标签去掉冗余信息。标准三步走标签清洗移除script、style、noscript、iframe、svg、canvas这些和内容完全无关的标签连带里面的内容一起删掉。属性剥离去掉所有class、style、id、onclick、data-*等展示和交互属性只保留href、src、colspan、rowspan这些语义相关的属性。正文定位通过文本密度算法标签内文本长度/标签总长度计算内容权重定位到页面的主体内容区域直接砍掉导航、侧边栏、页脚。我们实测的效果原始页面平均7856token清洗完标签属性剩3124token定位正文之后只剩1968token直接降到原来的25%成本直接砍四分之三。而且这一步完全是代码执行不需要调用大模型一次开发永久生效。Prompt工程层决定准确率的上限如果说预处理是基础Prompt就是决定准确率上限的核心。很多人觉得大模型能力够随便写个指令就行这是最大的误解。同样的模型好的Prompt和差的Prompt准确率能差20%以上。一个合格的解析类Prompt必须包含五个核心部分角色定义、输出Schema、字段规则、参考示例、输入数据。给大家一个我们线上在用的资讯详情页解析模板可以直接复用# 角色 你是专业的网页信息提取工程师严格从给定的HTML内容中提取指定信息只输出标准JSON不输出任何解释、备注、思考过程或多余文字。 # 输出Schema 严格按照以下JSON结构输出字段不可新增不可缺失 { title: 字符串资讯完整标题不要省略后缀, publish_time: 字符串发布时间统一转换为YYYY-MM-DD HH:mm格式从页面原始内容提取禁止编造, author: 字符串作者名称页面没有明确标注则返回空字符串, content: 字符串正文完整内容保留段落之间的换行符不要提取广告、推荐阅读、侧边栏、免责声明等非正文内容, images: [字符串数组正文内的图片完整URL列表按出现顺序排列] } # 字段规则 1. publish_time只取文章首次发布时间忽略更新时间、评论时间、发布时间标签旁的其他时间若只有日期没有具体时间补00:00 2. content仅提取页面主体正文区域排除页面顶部导航、底部相关推荐、热门文章、广告位、扫码提示、免责声明 3. images只保留正文段落内的配图排除网站logo、作者头像、图标、广告图、相关推荐配图 # 输出示例 {title:工业机器人市场增速放缓 细分赛道仍有增长空间,publish_time:2026-05-20 14:30,author:产业观察,content:一季度国内工业机器人整体出货量同比增长4.2%增速较去年同期有所回落。\n但在焊接、喷涂等细分场景专用机器人的增速依然保持在15%以上。,images:[[https://example.com/img/1.jpg](https://example.com/img/1.jpg)]} # 页面HTML内容 --- {html_content} ---几个关键的优化技巧亲测有效一定要加示例哪怕只加一个示例准确率都能直接提升10%以上。这是成本最低的优化没有之一。边界定义越清晰越好不要只说“提取正文”要说清楚“排除什么”。大模型对边界的判断很模糊明确排除项比明确包含项效果还好。强制格式约束明确要求只输出JSON不要多余文字能大幅减少后处理的工作量避免解析失败。针对特别长的页面还有一个进阶技巧分块解析。如果正文超过三千字不要一次性丢进上下文按段落拆成2-3块分别提取再合并能有效避免大模型遗漏尾部内容长文本准确率能再涨5%左右。校验层守住数据可用性的底线再好的Prompt也做不到100%准确。没有校验层的大模型解析输出的数据根本没法直接用。我们一般做三层校验层层过滤格式校验首先校验是不是合法JSON必填字段有没有缺失类型是不是正确。不通过的自动重试一次还不通过就标记为异常页面走人工处理。规则校验根据业务规则做逻辑校验比如发布时间是不是合理范围、URL是不是合法格式、正文长度是不是过短少于50字基本就是提取错了。抽样校验每天按比例抽样输出结果人工复核发现问题及时迭代Prompt规则持续优化准确率。三、全维度实测成本、准确率、模型横向对比为了给大家一个直观的参考我们用100个不同结构的资讯详情页做了完整的对照测试覆盖不同行业、不同排版、不同复杂度的页面。测试环境单页并发测试模型均为当前主流版本价格按官方公开定价计算。1. 预处理对成本的影响以GPT-4o Mini为例不同处理阶段的token消耗和成本处理方式平均单页token数单页成本元成本占比原始全量HTML78560.0283100%移除冗余标签属性31240.011239.6%定位正文精简HTML19680.007125.1%可以非常直观地看到仅仅是清洗标签和定位正文就能把成本降到原来的四分之一。这一步的投入产出比是所有优化里最高的。2. Prompt写法对准确率的影响同样用GPT-4o Mini同样的预处理结果不同Prompt方案的准确率对比Prompt方案整体准确率主要错误分布一句话指令71.2%格式错误32%内容偏差45%字段缺失23%结构化Schema字段规则82.5%格式错误8%内容偏差67%字段缺失25%Schema规则单示例91.3%格式错误3%内容偏差82%字段缺失15%Schema规则双示例边界说明93.7%格式错误2%内容偏差85%字段缺失13%结论非常明确加示例是提升准确率成本最低的方式从71%到91%只需要多写十几行Prompt零额外成本。再细化边界说明还能再涨2个多点。3. 主流模型效果横向对比都采用最优预处理最优Prompt的情况下四款主流模型的表现模型整体准确率单页成本元平均响应时间性价比评分GPT-4o Mini94.2%0.00711.2s9.2文心一言4.093.1%0.00621.4s9.3通义千问3.592.8%0.00651.3s9.0DeepSeek V391.7%0.00321.8s8.7从实测结果来看对精度要求极高的场景GPT-4o Mini依然是标杆优势不大但最稳定日常业务场景国产模型完全够用准确率差距在1-2个百分点成本更低综合性价比更高大批量、对成本敏感的场景DeepSeek的成本优势非常明显准确率也完全够用。四、踩坑总结五个最容易犯的错误这段时间踩了不少坑把最典型的几个列出来大家少走弯路。1. 别转纯文本要用精简HTML把HTML转成纯文本确实省token但会丢失链接、图片、表格结构这些关键信息最后提取的数据残缺不全。正确的做法是保留a、img、table等语义标签只去掉冗余属性和无关标签兼顾成本和信息完整性。2. 别让大模型做流程判断不要让大模型判断“这个页面是不是资讯页”“有没有下一页”这种逻辑问题。这些前置判断用代码做准确率100%还不花钱。让大模型只做它擅长的内容提取各司其职既稳定又便宜。3. 别盲目用大模型不是所有场景都适合用大模型。如果是结构非常规整的表格、列表页传统的CSS选择器速度更快、准确率更高、成本几乎为零。大模型的优势在结构多变、非结构化、规则难写的场景不要为了用而用。4. 别跳过校验层不要觉得Prompt写得好就不用校验。网站改版、特殊格式、模型偶发错误都会导致输出异常。校验层是数据质量的最后一道防线必须要有否则脏数据流到下游系统排查成本更高。5. 别忽略上下文窗口溢出长页面不要硬塞超过模型的有效上下文窗口尾部内容会被直接忽略准确率暴跌。长内容一定要分块处理分批提取再合并不要省这几步代码。最后说几句做了快六年的网络数据处理从正则表达式到CSS选择器从模拟浏览器到接口逆向技术一直在迭代但核心矛盾始终是「多变的页面结构」和「稳定的提取需求」之间的冲突。大模型没有彻底解决这个矛盾但它给出了一条全新的路径从和DOM结构对抗转向和语义内容对话。以前适配一个新站点要两三天现在两三个小时就能搞定以前网站改版要改好几天现在改几句Prompt就完事。技术从来没有银弹合适的场景用合适的方案才是最优解。合规提醒网络数据采集与处理需严格遵守相关法律法规及网站协议尊重数据版权与隐私保护合法合规开展技术实践。
返回列表