我正在使用.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
提交
取消