要忽略与父div同名的子div们,你可以使用Beautiful Soup库中的find_all()
方法,并结合CSS选择器来实现。
以下是一个示例代码,演示如何忽略与父div同名的子div们:
from bs4 import BeautifulSoup
html = '''
Child 1
ParentChild 2
Child 3
'''
soup = BeautifulSoup(html, 'html.parser')
# 找到所有class为"child"的div元素,但不包括与父div同名的子div们
child_divs = soup.select('.parent > div.child')
for div in child_divs:
print(div.text)
在上述代码中,我们首先创建一个Beautiful Soup对象,解析HTML字符串。然后,使用select()
方法和CSS选择器'.parent > div.child'
来选择所有class为"child"的div元素,但排除了与父div同名的子div们。
最后,我们通过遍历child_divs
变量中的div元素,并使用text
属性来获取div的文本内容。
运行上述代码,输出将是:
Child 1
Child 3
这样,我们就成功忽略了与父div同名的子div们。