Что вы можете сделать, так это найти тег <span>
с текстом «Gross:».Затем, как только он найдет этот тег, скажите ему пойти и найти следующий тег <span>
(который является значением) и получить этот текст.
from bs4 import BeautifulSoup as BS
html = '''<p class="sort-num_votes-visible">
<span class="text-muted">Votes:</span>
<span name="nv" data-value="93122">93,122</span>
<span class="ghost">|</span>
<span class="text-muted">Gross:</span>
<span name="nv" data-value="69,645,701">$69.65M</span>
</p>'''
soup = BS(html, 'html.parser')
gross_value = soup.find('span', text='Gross:').find_next('span').text
Вывод:
print (gross_value)
$69.65M
или, если вы хотите получить data-value
, измените эту последнюю строку на:
gross_value = soup.find('span', text='Gross:').find_next('span')['data-value']
Вывод:
print (gross_value)
69,645,701
И, наконец, если вам нужны эти значения в виде целого числа вместо строки, то вы можете агрегировать их как-нибудь позже:
gross_value = int(soup.find('span', text='Gross:').find_next('span')['data-value'].replace(',', ''))
Вывод:
print (gross_value)
69645701