使用 BeautifulSoup 获取在其值之前具有另一个标签的标签的值
Get the value of a tag which has another tag before its value with BeautifulSoup
四处搜索了一下,但找不到任何符合我的问题的post。
假设我有这个 html:
<div id=a>
<span>junk</span>
content
</div>
我有办法得到"content"吗?
doc.find(id="a").string
returns None
doc.find(id="a").text
return "junk content"
有多种方式:
找到所有带有recursive=False
的文本节点并得到最后一个:
div.find_all(text=True, recursive=False)[-1]
获取 span
的元素 next sibling:
div.span.next_sibling.strip()
获取 .contents
的最后一个元素:
div.contents[-1].strip()
其中 div = doc.find(id="a")
.
四处搜索了一下,但找不到任何符合我的问题的post。
假设我有这个 html:
<div id=a>
<span>junk</span>
content
</div>
我有办法得到"content"吗?
doc.find(id="a").string
returns None
doc.find(id="a").text
return "junk content"
有多种方式:
找到所有带有
recursive=False
的文本节点并得到最后一个:div.find_all(text=True, recursive=False)[-1]
获取
span
的元素 next sibling:div.span.next_sibling.strip()
获取
.contents
的最后一个元素:div.contents[-1].strip()
其中 div = doc.find(id="a")
.