Разделение HTML-документа с использованием lxml.html - PullRequest
0 голосов
/ 03 сентября 2011

У меня есть HTML-документ, содержащий несколько глав текста, где тег H1 является разделителем глав. Как я могу разбить такой документ на фрагменты HTML, где каждый фрагмент начинается с тега h1 соответствующей «главы». Я хотя бы предварительно оптимизировал HTML, а затем перебирал содержимое строки за строкой ... но это своего рода хак. Есть ли лучшее решение с использованием lxml?

1 Ответ

6 голосов
/ 03 сентября 2011
tree = lxml.html.document_fromstring(htmltext)
for element in tree.iter():
  if element.tag == 'h1':
    for subelement in element:
      // do stuff

Это найдет элементы, которые являются тегами h1, а затем вы можете перебрать все его подэлементы.Вы также можете просто взять весь текст внутри элемента в виде строки и так же с этим справиться.Все, что вы хотите сделать.http://lxml.de/ lxml - это круто, и я бы порекомендовал его.Мне приходилось обновлять код, уже использующий его, и просто оставлял сайт открытым для справки всякий раз, когда у меня возникал вопрос:)

...