在数据采集时,处理不规范的HTML页面是件令人头疼的事。因为不规范的HTML页面往往会引起xpath解析失败,造成得不到正确的数据。
了解Firebug的人都知道,它的HTML视图下有一个巧妙的功能,能够自动修复不规范的HTML,以规范的形式展现。
例如,如下的一个不规范的HTML页面:
我们看一下它在Firebug下的显示内容:
有没有能实现类似Firebug这种规范化HTML的Python库呢?
有。经过查找、测试,最终发现PyTidyLib库可以很好地实现这个功能。
下面是PyTidyLib库的一个测试:
>>> html = open('c:/html_invalid.html').read()
>>> print html
>>> from tidylib import tidy_document
>>> document, errors = tidy_document(html)
>>> print document
"">
阅读(1365) | 评论(0) | 转发(0) |