Как вытащить первое значение

Всем привет, от bs4 получаю вот такую вот строку <span>372<sup>60</sup>, как мне вытащить только значение 372? Здесь 372 это цена а 60 это копейки, если просто вытаскивать find('span').text то он выдает вот так 37260, а нужно разделение Подскажите плиз


Ответы (1 шт):

Автор решения: splash58

span.contents даст список содержимого, разбитый по тэгам, вам нужен первый элемент

from bs4 import BeautifulSoup
text = '<span>372<sup>60</sup></span>'
span = BeautifulSoup(text, 'lxml').find('span')

print(span)                         # <span>372<sup>60</sup></span>

print(span.contents)                ['372', <sup>60</sup>]

print(span.contents[0].strip())     # 372
→ Ссылка