0

これに似た研究プロジェクトでは、 Python ドキュメントからすべての「ドキュメント ユニット」を抽出したいと考えています。 Python ドキュメントのドキュメント ユニットは (html-meta タグとして) 次のようになります。

  • メソッド( dlクラス: メソッド)
  • クラス( dl クラス: クラス)
  • セクション( divクラス: セクション)

これらは入れ子にする必要があります。セクションには、複数のメソッドを含む複数クラスが含まれます。しかし、実際には非常に不規則です。

例 1:セクションに複数のクラスとメソッドが含まれている場合: 各メソッドを単独で取得し、メソッドを含まない各クラス (既に取得済み) と、クラスを含まないセクション (その場合は既に取得済み) とメソッドを含まないセクション (私もすでに持っています)が、残りの部分と一緒に(そこには多くの追加のものがあるため)

例 2:メソッドまたはクラスにそれらが表示されるセクションがない場合、上記のようにそれらも必要であり、それらを忘れてはなりません。

注:簡単にはなりませんが、元のドキュメントと同じ順序のリストにそれらすべてを取得したいと思います。

私は BeautifulSoup で試してみましたが、そのためには「葉から根まで」検索して最も深い要素を最初に取得する必要があると思います。これは (AFAIK) BeautifulSoup4 ではサポートされていません。

最初は重複を避けることが問題だと思っていましたが、実際にはそれが主な問題ではありません。

ヒントをいただければ幸いです。

4

1 に答える 1

1

これは不可能のようです。

この問題を解決するために私がしたことは、要素 (.descendants を使用して取得したもの) を何度も反復処理し、ネストされた要素をプレースホルダーに置き換えて、その変更を表示できるようにすることです (replace_with を使用)。

以前に .descendants を使用したため、ネストされた要素はとにかく保存されます。

于 2014-04-23T11:12:07.640 に答える