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

在python中复制嵌套的html列表?,python,html,Python,Html,我是一名初学者,所以这可能是一个很小的问题:我有一个.html文件,其中包含一个嵌套很深的无序列表。例如,我如何复制 Python中新的空.html文件的前4个嵌套级别?我需要美容霜吗?为了更好地说明,下面是Javascript中显示效果的代码: function nestless(root, selector, level) { var use = root; for (var i = 0; i <= level; i++) { use += ' ' +

我是一名初学者,所以这可能是一个很小的问题:我有一个.html文件,其中包含一个嵌套很深的无序列表。例如,我如何复制 Python中新的空.html文件的前4个嵌套级别?我需要美容霜吗?为了更好地说明,下面是Javascript中显示效果的代码:

function nestless(root, selector, level) {
    var use = root;
    for (var i = 0; i <= level; i++) {
        use += ' ' + selector;
    }
    $(use).remove();
}
看来我原来的问题写得不好,很难解析,对此我很抱歉。html文件实际上不是网站,而是手动编写的文本文档 在html编辑器中,并保存在.html中。它们不包含任何不能用LaTeX编辑器编写的内容

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

  • A
  • B
    • C
    • D
      • E
      • F
  • G

  • A
  • B
    • C
    • D
  • G
根据我自己的研究,在BeautifulSoup+soupselect、PyQuery或lxml中有通过CSS选择器的.html解析器,但我不确定什么是最简单的
继续阅读的方法或从何处开始阅读。

我将研究Mechanize来进行html解析,以获得实际的列表本身。尽量不要使用正则表达式,因为它会变得非常混乱,只会使事情变得更加困难。

我将研究Mechanize来进行html解析,以获得实际的列表本身。尽量不要使用正则表达式,因为它会变得非常混乱,只会使事情变得更加困难。

您不需要beautifulsoup,但如果不使用它,则会很痛苦

使用它来:

  • 找到你的第一级列表标签
  • 在第一级迭代
  • 对于每个元素,迭代到第二级
  • 第三级和第四级也要这样做
  • 在第四级,迭代,删除任何子节点

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

您不需要beautifulsoup,但如果不使用它,则会很痛苦

使用它来:

  • 找到你的第一级列表标签
  • 在第一级迭代
  • 对于每个元素,迭代到第二级
  • 第三级和第四级也要这样做
  • 在第四级,迭代,删除任何子节点

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

很抱歉,我无法正确获取您的get问题。BeautifulSoup对xml代码进行解析。(1)我们可以看到一些页面结构,特别是列表是如何嵌套的吗?非叶节点是否包含子列表之外的任何内容?(2) 你想要回什么?深度有限的嵌套列表还是平面列表?这些列表是标准的
    嵌套列表,形式为
    • a
    • B
    • C
    • D
        • 。。。第二个
            不应该在
          • 内吗?对不起,我无法正确理解您的get问题。BeautifulSoup对xml代码进行解析。(1)我们可以看到一些页面结构,特别是列表是如何嵌套的吗?非叶节点是否包含子列表之外的任何内容?(2) 你想要回什么?深度有限的嵌套列表还是平面列表?这些列表是标准的
              嵌套列表,形式为
              • a
              • B
              • C
              • D
                  • 。。。第二个
                      不应该在
                    • 内吗?
                      nestless('#root', 'ul', 4);