Как получить первый текст внутри тега?

Есть объект супа

<span class="nowrap">
     2 633
    <span class="currency rub">q</span>
</span>

делаю следующее:

price = item.find('span', class_='nowrap')
price_x = price.text.strip()
print(price_x)

Выводит: 2 633 q

Подскажите, как вывести без q


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

Автор решения: Vlad Vladov

.text дает нам все строки внутри тега сцепленными. Вместо этого надо использовать next_element:

soup = BeautifulSoup(text, 'lxml')
price = soup.find('span', class_='nowrap')
next_element = price.next_element
print(next_element.strip())

И тогда получаем нужный результат: '2 633'

→ Ссылка