如何在BeautifulSoup中使用re.compile和class

时间:2014-10-18 02:19:59

标签: python python-2.7 beautifulsoup

我正在尝试使用不同的css类来抓取一个页面,如下所示:

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")})

他们都没有工作: - (

1 个答案:

答案 0 :(得分:1)

根据(Beautiful Soup documentation - Search by CSS class),如果要搜索与两个或更多CSS类匹配的标记,则应使用CSS选择器。

soup.select('.mod.result')