@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, в общем для стабильного решения думал бы что то другое. Код работает но мне не нравится.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы