对于类似于此的研究项目,我想提取所有"文档单元";来自python文档。python文档中的文档单元可以是(作为html元标记):
- 方法 (dl类:方法)
- a类(dl类:类)
- 部分 (div类:部分)
这些应该嵌套:节包含几个类es,它们包含几个s方法。但事实上,这是非常不规则的。
示例1:若一个部分包含多个类和方法:我想单独获得每个方法,每个类都不包含方法(我已经获得了),没有类的部分(在这种情况下我已经拥有了),不包含方法的部分(我也已经拥有),但包含其余部分(因为其中有很多额外的东西)
示例2:如果一个方法或类没有它们出现的部分,我也希望它们如上所述,千万不要忘记它们。
注意:这并没有让它变得更容易,但我想把它们都放在一个列表中,该列表的顺序与原始文档中的顺序相同
我用BeautifulSoup尝试过,但我想出于这个目的,我需要搜索";从叶到根";首先获得最深的元素-这是BeautifulSoup4不支持的(AFAIK)。
首先,我认为问题是避免重复,但事实上这不是主要问题。
我很感激你的暗示。
似乎这是不可能的。
因此,我所做的解决这个问题的方法是一次又一次地迭代元素(我使用了.subscriptions),然后用占位符替换嵌套的元素,以使更改可见(使用replace_with)。
正如我以前使用的.subscriptions一样,嵌套的元素无论如何都会被存储。