如何获取标签内的所有文本?

3

我正在尝试获取存储在变量tag中的HTML标签内的所有文本:

<td rowspan="2" style="text-align: center;"><a href="/wiki/Glenn_Miller" title="Glenn Miller">Glenn Miller</a> &amp; His Orchestra</td>

结果应该是"格伦·米勒和他的乐队"
但是,print tag.find(text=True)返回了这个结果:"格伦·米勒"
我怎么才能获得元素内其余的文本?
1个回答

4

tag.find(text=True)会返回第一个匹配的文本节点。建议使用.get_text()代替:

>>> from bs4 import BeautifulSoup
>>> data = '<td rowspan="2" style="text-align: center;"><a href="/wiki/Glenn_Miller" title="Glenn Miller">Glenn Miller</a> &amp; His Orchestra</td>'
>>> soup = BeautifulSoup(data, "html.parser")
>>> tag = soup.td
>>> tag.get_text()
'Glenn Miller & His Orchestra'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接