我有一個具有相同標簽和相同名稱(屬性)的標簽。這是我的代碼
first_movie.find('p',{'class' : 'sort-num_votes-visible'})
這是我的輸出
<p class="sort-num_votes-visible">
<span class="text-muted">Votes:</span>
<span data-value="978272" name="nv">978,272</span>
<span class="ghost">|</span> <span class="text-muted">Gross:</span>
<span data-value="858,373,000" name="nv">$858.37M</span>
</p>
我正在使用 span 標記此代碼;
first_movie.find('span', {'name':'nv',"data-value": True})
978272 --> 輸出
但我想用命名的 nv(8.5837 億美元)達到另一個價值。我的代碼僅獲得此值 (978,272),因為標簽名稱彼此相等(名稱 = nv)
uj5u.com熱心網友回復:
你很接近。
嘗試使用find_all然后抓取最后一個元素。
例如:
from bs4 import BeautifulSoup
html_sample = '''
<p >
<span >Votes:</span>
<span data-value="978272" name="nv">978,272</span>
<span >|</span> <span >Gross:</span>
<span data-value="858,373,000" name="nv">$858.37M</span>
</p>
'''
soup = (
BeautifulSoup(html_sample, "lxml")
.find_all("span", {'name':'nv',"data-value": True})
)
print(soup[-1].getText())
輸出:
$858.37M
uj5u.com熱心網友回復:
如果您訪問 p 標簽中的所有跨度,您可以像使用串列一樣使用它們并使用索引來訪問最后一個 div。
movies = soup.find('p',{'class' : 'sort-num_votes-visible'})
my_movie = movies.findAll('span')
my_span = my_movie[3].text
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/392241.html
