Мне было весело манипулировать html с помощью lxml.Теперь я хочу сделать некоторые манипуляции с реальным файлом, после нахождения конкретного элемента, который соответствует моим потребностям, я хочу знать, возможно ли получить источник элемента.
Я прыгал вверх и вниз в моемПредседатель, увидев исходную линию как метод моего элемента, но это не дало мне того, что я хотел.
some_element.sourceline
Насколько я понимаю, исходную линию можно использовать только тогда, когда источником htm является файл списков, поэтомуВы получите номер строки.
Лучше добавить, что я сгенерировал свои элементы с помощью
theTree=html.fromstring(open(myFileRef).read())
the_elements=[e for e in theTree.iter()]
Чтобы было ясно, я получаю значение None как значение для some_element.sourceline - я протестировал это для всех 27 000 элементов в моем дереве
Одна вещь, которую я себе представляю, - это использовать источник html в выражении, чтобы найти это конкретное место в документе, возможно, чтобы что-то вырезать.Я не могу полагаться на текст элемента, потому что текст не обязательно уникален.
Одним из решений, которое было опубликовано, но снято, было использование исходной строки, но даже после прочтения моего файла в виде списка я не смог получить никакого значения, кроме None, для исходной строки.Я собираюсь опубликовать еще один вопрос, чтобы узнать, есть ли у кого-нибудь пример, использующий исходную строку
. Я только что попробовал и отбросил html.tostring (myelement), поскольку он автоматически конвертирует хотя бы некоторые кодировки (вероятно, я не правильно формулирую это)Вот пример:
Отрывок html-источника
<b> KEY 1A. REGIONAL PRODUCTION <br> </b>
html.tostring(the_element,method='html')
Очевидно, я не получаю исходный, неукрашенный источник.
'<b> KEY 1A.    REGIONAL PRODUCTION <br></b>'