Задать вопрос
@andrey13879

Почему Beutifulsoup находит не то?

<strong class="f_Strong">
 ¥ 
 <big>9</big>
 .37
 <small class="hide-usd">($ 1.38)</small>
</strong>


Мне нужно получить "9.37", но при исполнении такого кода:
response = requests.get(link, headers=headers)
html = bs(response.content, "lxml")
steam_price = html.find('strong', class_='f_Strong').text


парсер выдает это ($ 1.38)
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    DevOps-инженер
    6 месяцев
    Далее
  • Нетология
    1С-программист
    10 месяцев
    Далее
Решения вопроса 1
Maksim_64
@Maksim_64
ML Engineer
Ну для того кусочка html который вы представили вот так сработает
whole_part  = html.find('strong',class_='f_Strong').big.text
float_part = html.find('strong',class_='f_Strong').big.next_sibling.strip()
print(whole_part + float_part)

Хотя выглядит все это сомнительно, я бы поискал более стабильное решение возможно парсил бы через regex, в общем для стабильного решения думал бы что то другое. Код работает но мне не нравится.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы