Python 美丽的汤:只有在特定的孩子有特定的类时才有目标元素

Python 美丽的汤:只有在特定的孩子有特定的类时才有目标元素,python,beautifulsoup,Python,Beautifulsoup,我正在做一些python/Beauty soup练习以供练习,但我遇到了一个我一直在努力解决的问题:我想迭代一系列标记,但只有当它包含一个具有特定类的子标记时,才会刮取内容 我正在解析一个包含运动成绩的页面,找到所有的标记,并在其中抓取表格。问题是,我只想针对应用了class=“game status final”的标签。(在“final”后面的空格是经过深思熟虑的;这就是它在页面上的方式。) 下面是HTML的示例: <section class="game"> <h3

我正在做一些python/Beauty soup练习以供练习,但我遇到了一个我一直在努力解决的问题:我想迭代一系列标记,但只有当它包含一个具有特定类的子标记时,才会刮取内容

我正在解析一个包含运动成绩的页面,找到所有的
标记,并在其中抓取表格。问题是,我只想针对应用了
class=“game status final”
标签。(在“final”后面的空格是经过深思熟虑的;这就是它在页面上的方式。)

下面是HTML的示例:

<section class="game">
    <h3>Team No. 1 vs Team No. 2</h3>
    <div class="game-contents">
        <div class="game-status final ">Final</div>
        <div class="game-championship"></div>
        <div class="linescore">
            <table class="linescore">
                <!-- TABLE CONTENTS -->
            </table>
        </div>
        <div class="links final "></div>
    </div>
</section>
显然,我需要引入新的逻辑来确定
在刮取之前是否具有正确的属性,但对于最佳的处理方法,我还没有定论


在此,任何帮助或指导都将不胜感激

使用
final
类查找
div
,如果是
None
,则跳过此行:

games = soup.find_all('section', class_='game')

list_of_games = []
for game in games:
    if game.find("div", class_="final") is None:
        continue
    # rest of the code

又快又容易。完美的非常感谢。
games = soup.find_all('section', class_='game')

list_of_games = []
for game in games:
    if game.find("div", class_="final") is None:
        continue
    # rest of the code