beautifulsoup
を使用してタグに囲まれていないすべての最初の兄弟をすべてdiv.title
に選択するにはどうすればよいですか?以下の例ではタグに囲まれていないdivのすべての兄弟をbeautifulsoupで選択するにはどうすればよいですか?
、私が取得する必要があります:
[Text I care about which <b>can</b> have formatting..., Text I care about., Text I care about <span class='someclass'>which can be in a span</span>...]
例
<div class="level1">
<div class="title">
Title I do not care about
</div>
<div class="level2">
<div class="title">
Title I do not care about
</div>
Text I care about which <b>can</b> have formatting...
</div>
<div class="level2">
<div class="title">
Title I do not care about
</div>
<div class="level3">
<div class="title">
Title I do not care about
</div>
Text I care about.
</div>
<div class="level3">
<div class="title">
Title I do not care about
</div>
Text I care about <span class='someclass'>which can be in a span</span>...
</div>
</div>
</div>
私はいくつかの正規表現を使用して、特定の位置にテキストを変更する必要がありますのでご注意ください。したがって、私はあなたがあなたのfind_all
結果項目から不要なコードを削除するBS4 extract()
メソッドを使用することができますフォーマットタグ(b
、br
、span
など)
)残念ながら、クラスセレクタ 'level3'は、私が最初のテキストを見つけられないようにします。これを 'level2'で試してみると、' div.text'の 'div.level2'の全体が返されます。 また、テキストには' span'と 'br'という書式設定要素が取り除かれています。 私は探しているすべてのコンテンツを含む「スパン」を追加するために文書を変更しましたが、これは私がこのジェネレータにアクセスしたためにのみ機能します。 – nbeuchat