html - 在 Beautiful soup 中使用另一个标签查找标签值
问题描述
我正在尝试从 a 标签中的 span 标签获取值(餐厅名称)。
有很多标签和跨度标签。我使用此代码到达这里:
soup.find_all("a", "biz-name js-analytics-click")
<a class="biz-name js-analytics-click" data-analytics-label="biz-name" data-
hovercard-id="hN6KsYexY7_4VPAw0mHtMA" href="/biz/szechuan-restaurant-
charlottesville?osq=chinese"><span>Szechuan Restaurant</span></a>
所以基本上我不知道如何找到一个跨度标签的值,它位于一个带有特定类=“biz-name js-analytics-click”的标签中
解决方案
尝试span.text
前任:
from bs4 import BeautifulSoup
s = """<a class="biz-name js-analytics-click" data-analytics-label="biz-name" data-
hovercard-id="hN6KsYexY7_4VPAw0mHtMA" href="/biz/szechuan-restaurant-
charlottesville?osq=chinese"><span>Szechuan Restaurant</span></a>"""
soup = BeautifulSoup(s, "html.parser")
for tag in soup.find_all("a", "biz-name js-analytics-click"):
print(tag.span.text)
或者如果 "biz-name js-analytics-click"
是唯一的
print( soup.find("a", "biz-name js-analytics-click").span.text )
输出:
Szechuan Restaurant