如何使用 python 解析多个类或标头名称中的 HTML

我正在使用.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

但这没有任何结果。任何帮助表示赞赏!


森栏
浏览 66回答 1
1回答

偶然的你

如果我将 html 传递到代码中,它会产生正确的结果。因此,我假设传递的 HTML 不包含您期望的 HTML 标记。您可以通过运行来检查这一点print(card.prettify())这表明您的代码有效:from bs4 import BeautifulSouphtml = """<h6 class="var1">&nbsp; &nbsp; <span class="var2">number</span>&nbsp; &nbsp; <span class="var3">text1</span>&nbsp; &nbsp; <span class="var4">text2</span></h6>"""card = BeautifulSoup(html)print(card.prettify()) # Have a look to see if your html contains the relavant html elementsnumber=card.find('h6', {'class': 'var1'}).find('span', {'class': 'var2'}).textprint(number)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python