2017-02-17 97 views
0

我正在閱讀在python中使用beautifulSoup的網頁。 許多元素都是跨度,但其類屬性的值不同。例如檢查屬性和值是否存在使用BeautifulSoup

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

的問題是,如果用戶沒有爲VAL1 VAL2或保存他們的物品時,他們將不會出現在搜索結果頁面上輸入的值,所以我需要檢查的跨度標籤存在,在我可以嘗試提取它的值之前,爲該屬性指定一個具有特定值的屬性「class」。

我該怎麼做? GetAttr()方法沒有幫助,因爲它只是告訴我該屬性是否存在,但我無法檢查該屬性的值,這是本例中的區分因素。

+0

你可以提供你正在試圖刮掉頁面的鏈接? –

回答

0

對於此特定實例,您正在查找類屬性。

在這種情況下,您可以執行property.findChild("span")["class"]然後檢查它是否包含您想要的類之一。

0

使用list過濾器:

如果您在列表中傳遞,美麗的湯將允許對一個字符串匹配任何在列表中項目。

property.findChild("span", class_=["search-result-Val1","search-result-Val2"])