BeautifulSoup,'ResultSet'对象没有属性'find_all'

时间:2013-04-08 13:10:33

标签: python-2.7 beautifulsoup findall

我阅读了与我的问题相关的其他线程,但它没有解决问题。

<h2 class="tabellen_ueberschrift al">Cards</h2>
<div class="fl" style="width:49%;">     
<table class="tabelle_grafik lh" cellpadding="2" cellspacing="1">
        <tr>
            <th class="al" colspan="3">CA Osasuna</th>              
        </tr>

            <td class="s10 al">
                <a href="/en/sisi/profil/spieler_51713.html" class="fb s10" title="Sisi">Sisi</a>
                <br />
                26.  min. 2. yellow card, Time wasting              </td>
        </tr>

我想在表格中获取所有a个标签(会有几个),所以我的代码就是这样:

header = soup.find('h2', text="Cards")
cards_table = header.find_next_siblings(limit=2)
for row in cards_table.find_all('a'):
    print row

这引起了我的兴趣

AttributeError: 'ResultSet' object has no attribute 'find_all'

cards_table是一个表,我用for循环遍历它,所以不确定为什么这会导致错误。想法好吗?

1 个答案:

答案 0 :(得分:6)

好的,代码缺少一行:

for line in cards_table:
    for row in line.find_all('a'):
        print row

cards_table是一个列表,因此我们必须先迭代它,然后才能对表使用find_all方法。