我正在使用.find()BeautifulSoup 来尝试访问 html 中的文本和值,但它似乎嵌入在第二层中,而不是仅仅位于单个“类”下。这是我的目标:<h6 class="var1">
<span class="var2">number</span>
<span class="var3">text1</span>
<span class="var4">text2</span>
</h6>我想检索数字、文本1 和文本2。对于我尝试使用的号码:number=card.find('h6', {'class': 'var1'}).find('span', {'class': 'var2'}).text但这没有任何结果。任何帮助表示赞赏!
1 回答
偶然的你
TA贡献1841条经验 获得超3个赞
如果我将 html 传递到代码中,它会产生正确的结果。因此,我假设传递的 HTML 不包含您期望的 HTML 标记。您可以通过运行来检查这一点print(card.prettify())
这表明您的代码有效:
from bs4 import BeautifulSoup
html = """<h6 class="var1">
<span class="var2">number</span>
<span class="var3">text1</span>
<span class="var4">text2</span>
</h6>"""
card = BeautifulSoup(html)
print(card.prettify()) # Have a look to see if your html contains the relavant html elements
number=card.find('h6', {'class': 'var1'}).find('span', {'class': 'var2'}).text
print(number)
添加回答
举报
0/150
提交
取消