1
Amy 原创整理|资料核验:2026-11-04
Python官方说明,HTMLParser可解析不规范的HTML,并在遇到标签、文本、注释时调用处理方法。它不会检查结束标签是否与开始标签匹配,也不会因为外层元素关闭,就自动为内部隐式关闭的元素调用结束标签处理器。
因此,自定义处理器收到了若干事件,不等于文档结构已经验证正确。若你的逻辑靠入栈、出栈判断层级,需要自己考虑输入可能不成对,不能假定每个开始事件最终都有对应结束事件。
Amy建议:抽取程序用几段故意缺少结束标签的教学输入检查行为,并把“提取到内容”和“通过结构校验”设成不同结果。分块feed时还要注意:未完成的数据会先缓冲,结束输入后可调用close处理剩余内容;reset会丢掉尚未处理的数据。