簡體   English   中英

如何在python中解析格式錯誤的HTML

[英]How to parse malformed HTML in python

我需要瀏覽解析的HTML文檔的DOM樹。

我在使用lxml解析字符串之前使用的是uTidyLib

a = tidy.parseString(html_code,options)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>

由於您已經在使用lxml,您是否嘗試過lxml的 ElementSoup模塊?

如果ElementSoup無法修復HTML,那么您可能需要首先應用自己的過濾器,這些過濾器基於您自己對數據如何被破壞的觀察。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM