Python BeautifulSoup(bs4):如何在格式错误的HTML中忽略结束标记
我正在使用Beautifulsoup(bs4)来废弃HTML页面。它有一个列表Python BeautifulSoup(bs4):如何在格式错误的HTML中忽略结束标记,python,html,parsing,beautifulsoup,Python,Html,Parsing,Beautifulsoup,我正在使用Beautifulsoup(bs4)来废弃HTML页面。它有一个列表,其中包含一些有趣的链接(href) 片段: <ul> <!-- C 1-3 --></p> <li> <a href="http://LINK1" target="_blank">Link1 description</a> </li> </ul> <ul> <!-- E 1-2-3-6 -
,其中包含一些有趣的链接(href)
片段:
<ul>
<!-- C 1-3 --></p>
<li>
<a href="http://LINK1" target="_blank">Link1 description</a>
</li>
</ul>
<ul>
<!-- E 1-2-3-6 --></p>
<li>
<a href="LINK-2" target="_blank">Link-2 description</a>
</li>
<p><!-- E 4-5 -7-8-9-10-11 --></p>
</ul>
我认为您应该尝试一种更宽松的HTML解析器。例如:
soup = BeautifulSoup(pg, "html5lib")
因为html5lib解析器是最宽松的解析器。优点是:
- 极为宽大
- 与web浏览器解析页面的方式相同
- 创建有效的HTML5
- 很慢
- 外部Python依赖关系
文档对不同解析器的优缺点进行了一些解释:FWIW,如果链接因任何原因发生更改,您应该引用相关文本。:-)
soup = BeautifulSoup(pg, "html5lib")