我正在使用 Python 和html5lib来检查在表单字段中输入的一些 HTML 代码是否有效。
我尝试了下面的代码来测试一个有效的片段,但我得到了一个意外的错误(至少对我来说):
>>> import html5lib
>>> from html5lib.filters import lint
>>> fragment = html5lib.parseFragment('<p><script>alert("Boo!")</script></p>')
>>> walker = html5lib.getTreeWalker('etree')
>>> [i for i in lint.Filter(walker(fragment))]
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/xyz/html5lib-1.0b3-py2.7.egg/html5lib/filters/lint.py", line 28, in __iter__
raise LintError(_("Tag name is not a string: %(tag)r") % {"tag": name})
LintError: Tag name is not a string: u'p'
我做错了什么?
我的默认编码是utf-8
:
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'