36
如何使用BeautifulSoup搜索僅包含我搜索的屬性的標籤?如何查找僅具有某些屬性的標籤 - BeautifulSoup
例如,我想要查找所有<td valign="top">
標籤。
下面的代碼: raw_card_data = soup.fetch('td', {'valign':re.compile('top')})
得到所有我想要的數據,但也抓住任何<td>
標籤具有屬性valign:top
我也試過: raw_card_data = soup.findAll(re.compile('<td valign="top">'))
這沒有返回值(可能因爲壞的正則表達式)
我想知道是否有一種方法在BeautifulSoup說「查找<td>
標籤的唯一屬性是valign:top
「
UPDATE 例如,如果一個HTML文檔包含以下<td>
標籤:
<td valign="top">.....</td><br />
<td width="580" valign="top">.......</td><br />
<td>.....</td><br />
我想只有第一<td>
標籤(<td width="580" valign="top">
)返回
根據我對julio的評論。alegria,這將找到所有具有valign =「top」屬性的'
因此,你可以檢查len(tag.attrs)。如果len(tag.attrs)> 1,忽略標籤(我已編輯我的帖子) –
真棒,謝謝你! – Snaxib
只是通過它作爲參數
findAll
:來源
2012-01-19 22:06:56 juliomalegria
如果有像這樣的標籤會怎麼樣:'
可以在
findAll
使用lambda
功能作爲documentation解釋。所以,在你的情況下,只有valign = "top"
使用搜索td
標籤下面:來源
2014-04-22 06:33:29 Yogesh
最好的答案,因爲它使用BS的全部功能 –
很好的答案,因爲它給你帶來非常優化的方式。 – CrazyGeek
要做到這一點,最簡單的方法是使用新的CSS樣式
select
方法:來源
2016-02-18 23:15:22
也是使用最新版本的那個。 –
,如果你想只用屬性名稱搜索任意值
來源
2017-07-28 05:37:22 Amr
你錯過了'r'後面的括號。*「',導致不能編譯。 –
相關問題