【问题标题】:get ''expected-doctype-but-got-chars " error when i use html5lib of python?当我使用 python 的 html5lib 时出现“expected-doctype-but-got-chars”错误?
【发布时间】:2013-07-09 03:17:54
【问题描述】:

这是我的代码:

from html5lib import treebuilders, HTMLParser
parser = HTMLParser(tree=treebuilders.getTreeBuilder("lxml"))
parser.parse("hello world!")
print parser.errors

什么原因导致错误?

但是 html5lib 的文档使用这个:

import html5lib
parser = html5lib.HTMLParser(tree=html5lib.getTreeBuilder("dom"))
minidom_document = parser.parse("<p>Hello World!")

【问题讨论】:

  • 你的元素可能需要在标签内。试试parser.parse("&lt;div&gt;hello world!&lt;/div&gt;")

标签: python html5lib


【解决方案1】:

HTMLParser.errors 包含解析文档的所有解析错误;默认情况下,html5lib 应该优雅地处理所有解析错误(是的,文档确实包含生成解析错误的示例 - 目的是记录 API,而不是显示良好的 HTML 用法!),因此除非您出于某种原因担心解析错误(除非你有充分的理由去做,不要去做),它的价值是完全无关的。

【讨论】:

    【解决方案2】:

    当我使用后代码时它成功:

    parser.parse("<!DOCTYPE html>hello world!")
    

    【讨论】:

      猜你喜欢
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-01
      • 2019-09-30
      • 1970-01-01
      • 2020-09-05
      • 2019-03-02
      相关资源
      最近更新 更多