BeautifulSoup 4:选择具有至少一个具有特定类

时间:2015-12-02 13:09:46

标签: beautifulsoup

我想使用BeautifulSoup 4提取包含一个或多个div子标签的<p class="c8"> s列表(包括他们的孩子,以便进一步处理),但我还没有任何运气使用CSS选择器语法。我可以使用find_all和布尔函数,还是有更好的方法?

1 个答案:

答案 0 :(得分:0)

有不同的方法可以解决这个问题。一个是找到具有pfind the parent class="c8"元素的所有div元素:

for p in soup.find_all("p", class_="c8"):
    div = p.find_parent("div")

您还可以write a function查找所有div元素,检查是否有所需的孩子:

def filter_div(elm):
    return elm.name == "div" and elm.find("p", class_="c8")

for div in soup.find_all(filter_div):
    # do smth with div