2016-06-16 81 views
0

我想使用soup.find_all來查找所有具有idname屬性的HTML標記。使用bs4選擇具有一個或多個特定屬性的HTML標記

下面的代碼工作id屬性:

for tag in soup.find_all(attrs={"id": True}): 

然而,有兩個屬性,下面的代碼不會:

for tag in soup.find_all(attrs={"id":True, "name":True}): 

是否有可能做BS4布爾檢索該會找到所有具有兩個特定屬性(或兩個屬性)之一的標籤,或者我將不得不分別搜索每個屬性?

回答

1
soup.find_all(lambda element: 'name' in element.attrs or 'id' in element.attrs) 

我們使用lambda訪問內部find_all的元素。然後,我們使用in運算符來檢查element.attrs(這是一本字典)是否有密鑰nameid

+0

謝謝!您的解決方案非常棒! –

相關問題