2016-01-19 62 views
4
from bs4 import BeautifulSoup 

html = """ 
    <div class="aa bb"></div> 
    <div class="aa ccc"></div> 
    <div class="aa"></div> 
""" 


def find(aclass): 
    print(aclass) 
    return aclass != "bb" 

soup = BeautifulSoup(html, 'lxml') 

div = soup.find_all('div', attrs={'class': find}) 

print(div) 

我只想class ='aa',而不是'aa bb'或任何其他人。 請幫幫我! 謝謝!如何使用Beautiful4來過濾多類

回答

2

你也可以使用一個簡單的CSS selector

soup.select("div[class=aa]") 

演示:

>>> from bs4 import BeautifulSoup 
>>> 
>>> html = """ 
...  <div class="aa bb"></div> 
...  <div class="aa ccc"></div> 
...  <div class="aa"></div> 
... """ 
>>> soup = BeautifulSoup(html, 'lxml') 
>>> 
>>> for elm in soup.select("div[class=aa]"): 
...  print(str(elm)) 
... 
<div class="aa"></div> 
+0

這一項也可以解決我的問題,但我不能投你的回答...感到抱歉...謝謝。 – maicss

相關問題