2017-02-17 18 views
0

私は、pythonでbeautifulSoupを使用してWebページを読んでいます。 多くの要素はスパンですが、クラス属性の値が異なります。例えばBeautifulSoupを使用して属性と値の両方が存在するかどうかをチェック

Value1 = property.findChild("span", {"class" : "search-result-Val1"}).text 
Value2 = property.findChild("span", {"class" : "search-result-Val2"}).text 

問題は、彼らのアイテムを保存する際、ユーザはVAL1またはval2のための値を入力しなかった場合、彼らは検索結果ページに表示されませんので、私は、spanタグが存在するかどうかを確認する必要があり、その値を抽出しようとする前に、その属性の特定の値を持つ属性「クラス」を使用します。

どうすればよいですか? GetAttr()メソッドは、属性が存在するかどうかわかりますが、この属性の値をチェックすることはできません。この属性は、この場合の差別化要因です。

+0

あなたは掻き取ろうとしているページのリンクを提供できますか? –

答えて

0

この特定のインスタンスでは、class属性を探しています。

この場合、property.findChild("span")["class"]を実行して、目的のクラスが1つ含まれているかどうかを確認できます。

0

使用listフィルタは:

リストに渡す場合

、美しいスープは、そのリスト内の任意項目に対するストリングの照合を許可します。

property.findChild("span", class_=["search-result-Val1","search-result-Val2"]) 
関連する問題