假设我有 html
<div>Hey</div><div>This is <b>some text<b/>, right here. <a>Link<a/></div>
代码
soup = BeautifulSoup(html)
texts = soup.findAll(text=True)
print() 会返回
['Hey', 'This is ', 'some text', ', right here.', 'Link']
用于文本。
我怎样才能排除像“b”这样的标签(只包含文本),所以我可以获得所需的输出
['Hey', 'This is <b>some text<b/>, right here.', 'Link']
最好不是字符串,而是等效的 NavigableStrings 或类似字符串。
换句话说,我怎样才能从导航树中排除一些标签?
请您参考如下方法:
基于更新的 OP 问题:
eDiv = soup.findAll("div")
if eDiv.find("b") is None:
tag = eDiv.text
else:
tag = eDiv
现在您可以将其附加到列表中。
