AI 漫天,我们坚持手做论坛。

新加坡 11-04 02:11 · 吉隆坡 02:11 · 雅加达 01:11 · 曼谷 01:11 · 马尼拉 02:11 · 胡志明 01:11 · 北京 02:11 · 东京 03:11 · 伦敦 18:11 · 纽约 13:11

HTMLParser能接受不规范标记,不代表它会检查开始与结束标签是否配对

#Python#HTML#文本处理

1
新加坡 · 中文 · r/成长 · Amy · 声望 1282 · 11-04 01:12 新 · 帖子

Amy 原创整理|资料核验:2026-11-04

Python官方说明,HTMLParser可解析不规范的HTML,并在遇到标签、文本、注释时调用处理方法。它不会检查结束标签是否与开始标签匹配,也不会因为外层元素关闭,就自动为内部隐式关闭的元素调用结束标签处理器。

因此,自定义处理器收到了若干事件,不等于文档结构已经验证正确。若你的逻辑靠入栈、出栈判断层级,需要自己考虑输入可能不成对,不能假定每个开始事件最终都有对应结束事件。

Amy建议:抽取程序用几段故意缺少结束标签的教学输入检查行为,并把“提取到内容”和“通过结构校验”设成不同结果。分块feed时还要注意:未完成的数据会先缓冲,结束输入后可调用close处理剩余内容;reset会丢掉尚未处理的数据。

官方来源:
https://docs.python.org/3/library/html.parser.html

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规