如果我不能使用 BeautifulSoup 或 lxml,那么解析 HTML 的最佳选择是什么?我有一些使用 SGMLlib 的代码,但它有点低级,现在已弃用。
我更喜欢它可以忍受一些格式错误的 HTML,尽管我很确定大部分输入都会很干净。
如果我不能使用 BeautifulSoup 或 lxml,那么解析 HTML 的最佳选择是什么?我有一些使用 SGMLlib 的代码,但它有点低级,现在已弃用。
我更喜欢它可以忍受一些格式错误的 HTML,尽管我很确定大部分输入都会很干净。
Python 有一个原生的 HTML 解析器,但是 Nick 建议的 Tidy 包装器可能也是一个不错的选择。Tidy 是一个很常见的库,(是用 C 写的吗?)
也许µTidylib会满足您的需求?
您可以使用 Pallet( MacPorts 官方 GUI)在 Mac(OS X)上轻松无缝地安装 lxml 和许多其他 python 模块
模块名称为 py27-lxml。像 1,2,3 一样简单。
http://www.xmlhack.com/read.php?item=1392 http://sourceforge.net/projects/pirxx/
http://pyxml.sourceforge.net/topics/
我对 python 没有太多经验,但我过去使用过 Xerces(来自 Apache 基金会),发现它非常有用。学习曲线也不错,尽管我不是从 python 的角度来的。不过我建议你考虑一下。(我包含的前两个链接讨论了 Xerces 的 python 接口,最后一个是谷歌第一次点击“python xml”)。
html5lib 很好:
http ://code.google.com/p/html5lib/
更新:上面的链接坏了。上面的第三方镜像,可以从https://github.com/html5lib/gcode-import访问
htql 擅长处理格式错误的 html: