Python BeautifulSoup4或lxml 无法解析嵌套了p标签的h2

今天在使用python的beautiful进行Web分析时发现,BeautifulSoup无法解析嵌套了p标签的h2

1
2
3
4
5
6
7
8
9
content = """
<h2>
<p>5</p>
</h2>
"""

from bs4 import BeautifulSoup
soup = BeautifulSoup(content, "lxml")
print(soup)

运行结果:

1
2
3
<html><body><h2>
</h2><p>5</p>
</body></html>

这在浏览器上是能正常显示的

但是如果把p标签换成b标签,则可以发现显示成功

1
2
3
4
5
6
7
8
9
content = """
<h2>
<b>5</b>
</h2>
"""

from bs4 import BeautifulSoup
soup = BeautifulSoup(content, "lxml")
print(soup)

运行结果:

1
2
3
4
<html><body><h2>
<b>5</b>
</h2>
</body></html>

我的Python版本:Python 3.9.4
bs4: 0.0.1
lxml: 4.7.1

大概率和lxml无关,因为将soup = BeautifulSoup(content, "lxml")更换为soup = BeautifulSoup(content)后解析结果相同。

原创不易,转载请附上原文链接哦~


Python BeautifulSoup4或lxml 无法解析嵌套了p标签的h2
https://blog.letmefly.xyz/2022/12/04/Other-Python-BeautifulSoup4lxml-h2ParseError/
作者
Tisfy
发布于
2022年12月4日
许可协议