0

問題: 美しいスープ オブジェクトが HTML から貴重な情報を削除しているように見えます。なぜこれを行うのですか?このフィールドを抽出するにはどうすればよいですか?

例: 私が興味を持っている未加工の HTML は、次のように表現されています。

<div id="KittyChow">
            <h4 class="noteText">foodAmount</h4>
            <span>< 1 tsp</span>
        </div>

ただし、スープ オブジェクトを作成すると、対応する HTML の行は次のようになります。

<div id="KittyChow"><h4 class="noteText">foodAmount</h4><span></span></div>

私の問題と質問: span と /span の間の情報が削除されたのはなぜですか? 「未満/ <」記号がHTMLを示していたため、それが削除されたためですか?なぜこれが起こるのか知りたいです。ドキュメントで説明を見つけることができなかったようです.... BeautifulSoupでこれを解析する方法はありますか?

2 番目: この小さじ 1 未満のパラメーターを抽出するにはどうすればよいですか? 左右のエンドポイントを持つ正規表現を作成しようとしましたが、ALMOST が機能します。「左の部分文字列の一致」と「右の部分文字列の一致」を指定すると、正規表現を使用してテキストを返す方法を知っています。たとえば、次のコードは「cat」を返します。

import re

string= "The cat is obese."
left= "The"
right= "is obese."

pattern= re.compile(left + "(.*?)" + right)
answer= pattern.findall(string)[0]

print answer

問題は、左右の一致文字列を HTML に置き換えると、HTML を文字列にキャストすることに関連する空白とインデントが原因で、「インデックスが範囲外です」というエラーが発生することです。

おわかりのように...私はかなりの調査を行ってきましたが、BeautifulSoup と Python の正規表現モジュールの両方を使用して、HTML タグのフィールド/属性内の < および > 記号を抽出することにまだ取り組んでいます。私を助けてください?:)

4

2 に答える 2