@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)
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
Ну для того кусочка 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, в общем для стабильного решения думал бы что то другое. Код работает но мне не нравится.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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