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

如何在python中解析格式错误的HTML,python,html,lxml,Python,Html,Lxml,我需要浏览已解析HTML文档的DOM树 在用lxml解析字符串之前,我正在使用uTidyLib a=tidy.parseString(html_代码,选项) dom=etree.fromstring(str(a)) 有时我会出错,似乎tidylib无法修复格式错误的html 如何解析每个HTML文件而不出错(仅解析无法修复的部分文件)?处理无效/损坏的HTML效果很好 >>> from BeautifulSoup import BeautifulSoup >>>

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

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

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

有时我会出错,似乎tidylib无法修复格式错误的html

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

处理无效/损坏的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>
>>从BeautifulSoup导入BeautifulSoup

>>>soup=BeautifulSoup(“既然您已经在使用lxml,您是否尝试过该模块


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

链接被破坏;编辑了它们。希望新位置包含与您最初指向的内容相同的内容。如果您没有安装beautiful soup,您可能需要我t表示元素汤。只需执行
pip安装beautifulsou