使用lxml.html拆分HTML文档

0 html python lxml

我有一个包含多个文本章节的HTML文档,其中H1标记是章节分隔符.如何将这样的文档拆分成html片段,其中每个片段以相应"章节"的h1标签开头.我虽然美化HTML然后逐行迭代内容......但这是一种黑客攻击.使用lxml有更好的解决方案吗?

小智 6

tree = lxml.html.document_fromstring(htmltext)
for element in tree.iter():
  if element.tag == 'h1':
    for subelement in element:
      // do stuff
Run Code Online (Sandbox Code Playgroud)

那将找到h1标签的元素然后你可以迭代它的所有子元素.您也可以将元素中的所有文本作为字符串,并以这种方式处理它.无论你想做什么. http://lxml.de/ lxml太棒了,我推荐它.我不得不更新已经使用它的代码,并且只要我有问题就让网站保持开放以供参考:)

  • Upvoting因为这不是一个无意义的答案. (3认同)
  • @ user196251根据每个HTML规范,H1可以包含内联元素(例如<a>标签).有关更多信息,请参阅[关于H1-H6的HTML5规范部分](http://dev.w3.org/html5/spec/sections.html#the-h1-h2-h3-h4-h5-and-h6-elements)信息 (3认同)