首页 > 解决方案 > 在 Python BeautifulSoup 中查找 div 类的父属性

问题描述

    soup = BeautifulSoup(code below, "html.parser")

    <item class="info" data="findthisinfo" example="exa1">

    <div class="exampleclass">
    EXAMPLE INFO
    </div>


    <item class="info" data="findthisinfo1" example="exa0">

    <div class="exampleclass">
    EXAMPLE INFO 2
    </div>

    <item class="info" data="findthisinfo2" example="exa2">

    <div class="exampleclass">
    SOME TEXT
    </div>

    for example in soup.find_all('item', attrs={'class': 'info'}):
        examp2 = example.find_all('div', attrs={'class': 'exampleclass'})
        examp3 = soup('div', text=re.compile("EXAMPLE"))

这给了我以下输出:

[EXAMPLE]
[EXAMPLE]
[]

我现在想找到两个特定输出的父类,例如,我需要 和 的父data="findthisinfo"data="findthisinfo1"

我该怎么做呢?

标签: pythonbeautifulsoup

解决方案


您需要做的是收集所有item标签。

然后遍历它们寻找data属性

items = soup.findAll('item')

for i in items:
    if 'EXAMPLE' in i.text:
        print(i.attrs['data'])

印刷

findthisinfo
findthisinfo1

推荐阅读