如何在python中解析格式错误的HTML

2024-06-16 21:42:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要浏览解析的HTML文档的DOM树。

在用lxml解析字符串之前,我正在使用uTidyLib

a=tidy.parseString(html代码,选项) dom=etree.fromstring(str(a))

有时我会得到一个错误,似乎tidylib无法修复格式错误的html。

如何在不出错的情况下解析每个HTML文件(仅解析无法修复的部分文件)?


Tags: 文件字符串代码文档html选项错误lxml
2条回答

既然您已经在使用lxml,您是否尝试过lxml'sElementSoup模块?

如果ElementSoup无法修复HTML,那么您可能需要首先应用自己的过滤器,这些过滤器基于您自己对数据如何损坏的观察。

Beautiful Soup很好地处理了无效/损坏的HTML

>>> from BeautifulSoup import BeautifulSoup
>>> soup = BeautifulSoup("<htm@)($*><body><table <tr><td>hi</tr></td></body><html")
>>> print soup.prettify()
<htm>
 <body>
  <table>
   <tr>
    <td>
     hi
    </td>
   </tr>
  </table>
 </body>
</htm>

相关问题 更多 >