Я создаю модель, чтобы узнать, где находится фрагмент текста в файле HTML.
Итак, у меня есть база данных с большим количеством данных из различных газетных статей с такими данными, как название, дата публикации, авторы и текст новостей. Я пытаюсь проанализировать эти данные и сгенерировать модель, которая сама может найти XPath для тегов HTML с этим содержимым.
Проблема в том, что я использую регулярное выражение в методе xpath, как показано здесь:
from lxml import html
with open('somecode.html', 'r') as f:
root = html.fromstring(f.read())
list_of_xpaths = root.xpath('//*/@*[re:match(.,"2019-04-15")]')
Это пример поиска даты публикации в коде. Он возвращает lxml.etree._ElementUnicodeResult вместо lxml.etree._Element.
К сожалению, этот тип элемента не позволяет мне получить XPath, где он находится, как lxml.etree._Element после применения root.getroottree().getpath(list_of_xpaths[0])
.
Есть ли способ получить XPath для этого типа элемента? Как?
Есть ли способ, чтобы lxml с помощью регулярного выражения вместо этого возвращал элемент lxml.etree._ElementUnicodeResult?