为了避免Beautifulsoup将嵌套标签视为单个元素而进行转义,我们可以使用正则表达式来匹配所需的标签,并在其中使用find_all()函数进行递归查找。
例如,我们想要查找所有的
标签,而不考虑内部嵌套的标签。可以使用以下代码:
import re from bs4 import BeautifulSoup
html = '
First paragraph
Second paragraph
' soup = BeautifulSoup(html, 'html.parser') pattern = re.compile(r']*>') tags = soup.find_all(pattern)
for tag in tags: print(tag)
输出结果为:
First paragraph
Second paragraph
在这个例子中,我们使用了正则表达式来匹配所有的
标签,避免了标签嵌套导致的问题。