使用lxml.html拆分HTML文档

0 投票
1 回答
530 浏览
提问于 2025-04-17 01:19

我有一个HTML文档,里面包含了多个章节的内容,每个章节的开头都是一个H1标签。请问我怎么把这个文档分成多个HTML小片段,每个片段都以对应章节的H1标签开始。我想过先美化一下HTML,然后逐行处理内容……不过这样有点像是变通的办法。有没有更好的方法可以用lxml来实现呢?

1 个回答

6
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非常棒,我推荐你使用它。我之前也用过这个库,更新代码的时候总是把网站打开,遇到问题就去查阅一下 :)

撰写回答