假设我有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']
用于文本。
我如何排除像&#39; b&#39; (只包含文本),所以我可以获得所需的输出
['Hey', 'This is <b>some text<b/>, right here.', 'Link']
最好不字符串,但等效于NavigableStrings或类似字符。
换句话说,如何从导航树中排除某些标签?
答案 0 :(得分:-1)
基于更新后的OP问题:
eDiv = soup.findAll("div")
if eDiv.find("b") is None:
tag = eDiv.text
else:
tag = eDiv
现在您可以将其添加到列表中。