0
美しいスープを使用してテキストを抽出しようとしています。関連部分はこのように見えます。ノードのインスタンスに基づく抽出
...
<p class="consistent"><strong>RecurringText</strong></p>
<p class="consistent">Text1</p>
<p class="consistent">Text2</p>
<p class="consistent">Text3</p>
<p class="consistent"><strong>VariableText</strong></p>
...
名前が示すように、RecurringTextはすべてのファイルで一貫しています。ただし、VariableTextは変更されます。それが共通しているのは、次のコーディングされたセクションだけです。 Text1、Text2、Text3を抽出したいと思います。前に来るもの(RecurringTextを含む)と後ろのもの(VariableTextを含む)は後に残すことができます。 RecurringTextから抽出した部分は他の場所にありますが、それが意味をなさえすれば、次の項目を削除する方法がわかりません。
合計で、Text1、Text2、...、Textnの最後の項目の後に一貫して来るVariableText(文字列はURL全体で可変です)の特性に基づいてどのように抽出できますか(nはファイル間で異なります)。
感謝を!私の理解から、これは強いクラスの "一貫性のある" pクラスを持つ要素を探し、次にその基準に一致する次の要素に移動します。問題は、このように見える複数のリストがあることですが、私が一意に関係するリストは、RecurringTextを最初に持っています。コードを修正するには、最初の検索後(そのすべての一般的な条件を取得する)、「RecurringText」を見つけて次の兄弟に行くのが最善でしょうか? –
もう一度ありがとう!これはPython/Beautiful Soupでの私の最初の経験です。もっと詳しく知りたい場合は、「lambda関数を使ってすべてを見つける」をお探しですか? –
1つのエラーが発生しました。実際には '
'です。スペースが問題を引き起こすようです。私はこれを見て、elm.get( "class") 'の' 'class1.class2 ''を使って試しましたが、それは正しい解決策ではないようです。 –