你的回答中文本还是在b标签内,我希望获取的是在标签外的文本呀
时间: 2024-10-14 19:16:37 浏览: 8
【国开搜题】国家开放大学 一网一平台 Android核心开发技术11 期末考试押题试卷.docx
对不起,看来我在解释上有些混淆。如果你想要获取标签外的文本,特别是像`<a>`标签外面的文本,比如`"lalala"`,你需要查找整个文档或者该元素的父级来获取。在BeautifulSoup中,这可以通过递归或者其他方式遍历节点树来实现。下面是一个例子:
```python
from bs4 import BeautifulSoup
html = """
<html>
<a>
<b id="de">lalala</b>
<c>fdcf</c>
</a>
<div>Some external text</div>
</html>
"""
# 先解析HTML
soup = BeautifulSoup(html, 'html.parser')
# 查找a标签的所有祖先节点
ancestors = [node for node in soup.find('a').parents]
for ancestor in ancestors:
# 检查当前节点是否包含"lalala"
if ancestor.text == "lalala":
print(ancestor.text)
break # 如果找到就停止循环
```
这个代码会寻找`<a>`标签的所有祖先节点,并检查每个祖先节点的文本内容,直到找到"lalala"为止。
阅读全文