2014-10-18 45 views
0

我想如下刮不同的CSS類的網頁使用re.compile與類:如何在BeautifulSoup

class="mod result idx0 people" 
class="mod result idx1 people" 
class="mod result idx2 people" 
class="mod result idx3 people" 
class="mod result idx4 people" 

我使用bs4html5libPython2.7

現在,當我做這對於上面的第一個元素我積極地得到結果。

soup.find(class_="mod result idx0 people") 

但是,我想對所有的類都這樣做。

所以我嘗試了所有這些,但我仍然得到一個空的列表[]。我究竟做錯了什麼?

soup.find_all(class_="mod result") 
soup.find_all(class_=re.compile("mod result")) 
soup.find_all("li",{"class":re.compile("mod result")}) 
soup.find_all("li",attrs={"class":re.compile("mod result")}) 
soup.find_all({"class":re.compile("mod result")}) 

他們都不是工作:-(

+0

因此,有人愚蠢編輯我的問題 - 然後有人聰明改變它回到我發佈的內容...並在之間我得到標記下來張貼不正確的問題---哇:-) – 2014-10-18 04:41:45

回答

1

根據(Beautiful Soup documentation - Search by CSS class),如果你想搜索匹配兩個或多個CSS類,標籤,你應該使用一個CSS選擇器。

soup.select('.mod.result') 
+0

Yepiie :-)再次感謝falsetru :-)從來不知道類必須處理CSS。我總是首選find方法。但我想我現在必須學會:-)但它確實有效。非常感謝 – 2014-10-18 02:31:59