2016-11-07 81 views
0

我想使用beautifulsoup從網站解析表。 (我無法分享網站源代碼,因爲它是限制使用。)BeautifulSoup與多個標記,每個標記與特定的類

我想提取數據只有當它具有以下兩個標籤與這些特定的類。

td, width=40% 
tr, valign=top 

我這樣做的理由是提取具有這些標籤和類的數據。

我發現了一些關於使用多個標籤的討論here,但是這個討論的只是標籤而不是類。不過,我曾嘗試使用列表相同的邏輯擴展的代碼,但我想我得到的是不是我想要的:

my_soup=soup.find_all(['td',{"width":"40%"},'tr',{'valign':'top'}]) 

彙總,我查詢是如何使用多個標籤,每個具有特定類在find_all中,這樣結果'和'都是標籤。

回答

0

假設bsObj是你美麗的湯對象 嘗試:

tr = bsObj.findAll('tr', {'valign': 'top'}) 
td = tr.findAll('td', {'width': '40%'}) 

希望這有助於。

+0

我不認爲它的作品,但可能是我失去了一些東西。第一行的輸出是ResultSet,當您嘗試在第二行的ResultSet上執行find_all時,它會引發錯誤,指出ResultSet沒有find_all方法。我正在使用bs4 – PagMax