У меня возникает проблема при попытке получить родительский узел элемента tr во время итерации через все их.Python lxml, итерация через tr элементов
Вот базовая таблица, с которой я работаю.
<table border=1> <tbody> <tr> <td> <p>Some text</p> </td> <td> <p>Some more text</p> </td> </tr> <tr> <td> <p> Some more text</p> </td> <td> <p> Some more text</p> </td> </tr> <tr> <td> <p> Some more text</p> </td> <td> <p> Some more text</p> </td> </tr> </tbody> </table>
А вот мой Python скрипт, чтобы получить родительский узел, используя LXML
import lxml.html
htm = lxml.html.parse('plaintable.htm')
tr = htm.xpath('//tr')
for x in tr:
tbody = tr.getparent()
if tbody.index(tr) == 1:
print ('Success!')
print ('Finished')
Я получаю эту ошибку, когда я бегу сценарий: AttributeError: «список» объект не имеет атрибута «GetParent '
Я довольно новичок в Python, так что это может быть что-то простое. Я испортил. Я прочитал документы lxml и не нашел ответа.
Любая помощь будет замечательной!
Ах идеальный! Я не понял, как назвать индекс в цикле for. Я привык к JavaScript, поэтому было непросто. В двух словах, я строю XML-файл на основе таблиц в документе HTML. В настоящее время я работаю с 36 различными таблицами. Мне нужно найти первый tr в каждой таблице, чтобы правильно его построить. – Chad
@ Получил его, также обновленный с образцом кода для «Мне нужно найти первую tr в каждой таблице, чтобы построить ее правильно». Благодаря! – alecxe
Удивительно, что это будет чрезвычайно полезно при создании родительских узлов. Я очень ценю вашу помощь! – Chad