Получите числовой вывод с помощью parsel

Я пытаюсь разобрать числовое поле с помощью parsel. По умолчанию в документации показано, как извлекать текст. И это:

      from parsel import Selector
html = "<title>2</title>\n"
selector = Selector(text=html)
get_text = selector.css("title::text").get()
print(type(get_text))

Возврат str. Тем не мение,

      print(selector.css("title::number").get())

дает ошибку

      cssselect.xpath.ExpressionError: The pseudo-element ::number is unknown

Есть ли простой способ извлекать числа с помощью синтаксического анализатора?

1 ответ

Решение

Вы можете использовать lxml, потому что возврат при конвертации посылки str результат.

      from lxml import etree
xml = etree.XML('<title>2</title>\n')
find = etree.XPath('number(//title/text())')
result = find(xml)
print(result)
print(type(result))

выход:

2.0

<класс 'float'>

Другие вопросы по тегам