在python中复制嵌套的html列表?

时间:2012-07-20 15:50:15

标签: python html

我是一名初学程序员,所以这可能是一个微不足道的问题:我有一个带有深度嵌套无序列表的.html文件。我怎样才能复制 将前4个嵌套级别转换为Python中的新空.html文件?我需要BeautifulSoup吗?为了更好地说明,这里是Javascript中显示效果的代码:

function nestless(root, selector, level) {
    var use = root;
    for (var i = 0; i <= level; i++) {
        use += ' ' + selector;
    }
    $(use).remove();
}

我会在这里使用:

nestless('#root', 'ul', 4);

似乎我的原始问题写得很糟糕,很难解析,我很抱歉。 .html文件不是真正的网站,而是手动编写的文本文档 在html编辑器中保存为.html。它们不包含任何无法使用LaTeX编辑器编写的内容。

例如,如果我想将此列表列表减少到前两个级别:

  • A
    • C
    • d
      • 电子
      • ˚F
  • G

  • A
    • C
    • d

根据我自己的研究,在BeautifulSoup + soupselect,PyQuery或lxml中通过CSS选择器有.html解析器,但我不确定什么是最简单的 进行的方式或从哪里开始阅读。

2 个答案:

答案 0 :(得分:1)

我会查看Mechanize http://wwwsearch.sourceforge.net/mechanize/来进行html解析以获得实际列表本身。尽量不要使用正则表达式,因为它会变得非常混乱,只会让事情变得更加困难。

答案 1 :(得分:0)

你不需要美丽的汤,但如果没有它就会很痛苦。

用它来:

  • 找到您的第一级列表标记;
  • 在第一级迭代;
  • 对于每个元素,迭代到第二级;
  • 为第三和第四级做同样的事。
  • 在第四级,迭代,删除任何子节点。

保留memeroy中的对象,并在生成新的html文件时将其作为子项插入到下一个html对象中。