如何从标记中获取文本,但忽略其他子标记

时间:2014-11-28 20:35:34

标签: python python-3.x beautifulsoup

我正在喝美味的汤。 我有一个html字符串:

<div><b>ignore this</b>get this</div>

如何检索&#34;得到此&#34;,而忽略&#34; 忽略此&#34;

由于

1 个答案:

答案 0 :(得分:8)

您可以获取div文本,而不是以递归方式检索子文本:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('<div><b>ignore this</b>get this</div>')
>>> soup.div.find(text=True, recursive=False)
u'get this'

这与儿童的文本位置无关:

>>> soup = BeautifulSoup('<div>get this<b>ignore this</b></div>')
>>> soup.div.find(text=True, recursive=False)
u'get this'