0

我正在解析的 HTML:

<h2 class="tabellen_ueberschrift al">Cards</h2>
<table class="tabelle_grafik lh" cellpadding="2" cellspacing="1">
        <tr>
            <th class="al" colspan="3">CA Osasuna</th>              
        </tr>
                                                            <tr class="hell">
        <a href="example.com" class="fb s10" title="Sisi">Sisi</a>
        </tr>
                                                            </td></table>

<table class="tabelle_grafik lh" cellpadding="2" cellspacing="1">
        <tr>
            <th class="al" colspan="3">FC Barcelona</th>                
        </tr>
        <a href="example.com" class="fb s10" title="Busquets">Busquets</a>
        </tr>
                                                            </td></table>

我正在尝试计算所有a标签实例,但是我需要为每个足球队单独执行此操作。所以当它遇到第二个<table class="...">计数器需要从 0 开始计数(我的意思是必须有两个单独的计数器)。

到目前为止,我只设法提出了可以进行计数但将其汇总在一起的代码。所以我只有一个相同的柜台。

我正在努力告诉 Python 在哪里停止并引入第二个计数器。

我没有复制我的代码,因为直到我被卡住的地步,它都非常简单。任何想法都非常欢迎!

4

1 回答 1

2

每桌计数:

for table in soup.find('table', class_='tabelle_grafik'):
    count = len(table.find('a'))

当然,您确实需要对每个计数做一些事情。将它们存储在字典中、打印它们、将它们添加到列表中,等等。

将它们存储在每个俱乐部的字典示例中:

clubs = {}

for table in soup.find_all('table', class_='tabelle_grafik'):
    club_name = table.find('th', class_='al').text
    count = len(table.find_all('a'))
    clubs[club_name] = count
于 2013-04-09T10:12:12.747 回答