Как печатать и суммировать только числа из HTML-кода?(Python)

#python #html #numbers

#python #HTML #числа

Вопрос:

Проблема в том, что я не могу вывести числа из HTML-кода.

Комментарии:

1. Вы ищете <span> комментарии с именем кл асса. Предоставленная вами HTML-строка не содержит элементов как так овых. Я бы посоветовал вам подробнее ознакомиться с HTML и BeautifulSoup

Ответ №1:

 import re
from bs4 import BeautifulSoup

url = str(input())
soup = BeautifulSoup(url,"html.parser")
data = soup.find_all('td')
numbers = [d.text for d in data if d.text.isdigit()] # if the text of the td element is a number, include it in the list assigned to the variable 'numbers'
print(numbers)
>>> ['23', '40']
  

По сути, разбейте это на более мелкие шаги:

  • Выделите все HTML-элементы, которые могут содержать нужные вам данные (в данном случае <td> элементы)

  • Для каждого из этих элементов проверьте, содержит ли он цифру, используя метод str.isnumber(): str.isdigit() doc

Комментарии:

1. Попробуйте сейчас — пришлось перемещаться по синтаксису понимания списка.

2. это, безусловно, возможно, но подход будет зависеть от ваших потребностей. можете ли вы просто не использовать beautifulsoup в частности или все библиотеки синтаксического анализа HTML?

3. isdigit не учитывает значения с плавающей точкой.

4. @n1c9 например, задача похожа на эту, но нужно выполнить эту задачу без beautifulsoup, только с поиском чисел или заменой, не могли бы вы дать мне какую-нибудь подсказку, пожалуйста?