BeautifulSoup with python - 解析错过了某些标签

时间:2018-02-12 12:58:52

标签: python parsing beautifulsoup

我使用BeautifulSoup和lmxl解析器解析SGML文档。

我解析SGML,然后使用BeautifulSoup检查树是否需要纠正各种条件。当我找到一个条件时,我想确定它是否是标记revst的孩子。

当我找到条件并迭代.parents时,我找不到<revst>作为父级,即使在检查文档时,<revst>在树中也存在。

如果我致电soup('revst'),则会识别所有revst,并且可以对其进行操作。

我已经尝试了lxmlxmlhtml5lib解析器,但他们都错过revst作为父母。

我可以想出两种方法来纠正这个问题:

  1. revst添加到BeautifulSoup库,以便在.parents
  2. 中识别它
  3. soup.revstsoup.elementIcareAbout.name进行比较,看看是否有孩子
  4. 我不清楚如何执行这些方法中的任何一种。还有其他选择来处理这个吗?

    我还尝试etree解析但得到解析错误......

    以下是我正在使用的代码:

    x=soup('extref')
    for i in range(0,len(x)):
        for parent in x[i].parents:
            r = parent.name
            print(r)
    
    然后

    r给出了x中找到的每个元素的父标签列表。

    此列表应包含&#39; revst&#39;对于某些元素,但没有。

0 个答案:

没有答案