[英]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.