Работа с Element table в lxml

Для личных нужд понадобился небольшой парсер отчетов.
На хабре как раз в этот момент писали про LXML и как он быстро работает. Решил попробовать сделать красиво.
В результате застрял с Element table.
PR = xml = lxml.html.document_fromstring(open('test.html').read().decode('utf-8'))
i = 1
while True:
    table = PR.xpath('/html/body/table['+str(i)+']')
    if not table:
        break
    i += 1
    print table

Результатом является набор [<Element table at 0x********>]
Единственное что нашел это дальше сделать table[0].text_content() и получить множество строк из таблици.
Мне же хотелось бы красиво получить заголовки с каждой таблицы + массив(массивы) только тех колонок из таблице которые мне нужны что бы потом отфильтровать нужные значения и вывести в читаемом виде.

Заранее спасибо.
  • Вопрос задан
  • 5482 просмотра
Пригласить эксперта
Ответы на вопрос 2
AterCattus
@AterCattus
Люблю быстрый backend
А можно взять pyquery, который суть небольшая обертка поверх lxml, но писать в более, имхо, удобном стиле css селекторов.
Ответ написан
simbajoe
@simbajoe
У table вроде должен быть метод xpath. Посмотрите как тут делают: stackoverflow.com/questions/1577487/python-lxml-and-xpath-html-table-parsing
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы