comment obtenir tbody de table à partir de python belle soupe ?

Je suis en train de ferraille Année & les Gagnants ( premier & deuxième colonnes ) à partir de la "Liste des matches de table" (deuxième tableau) à partir de
http://en.wikipedia.org/wiki/List_of_FIFA_World_Cup_finals: Je suis en utilisant le code ci-dessous:

import urllib2
from BeautifulSoup import BeautifulSoup

url = "http://www.samhsa.gov/data/NSDUH/2k10State/NSDUHsae2010/NSDUHsaeAppC2010.htm"
soup = BeautifulSoup(urllib2.urlopen(url).read())
soup.findAll('table')[0].tbody.findAll('tr')
for row in soup.findAll('table')[0].tbody.findAll('tr'):
    first_column = row.findAll('th')[0].contents
    third_column = row.findAll('td')[2].contents
    print first_column, third_column

Avec le code ci-dessus, j'ai été en mesure d'obtenir des & la troisième colonne de l'amende juste. Mais quand j'utilise le même code avec http://en.wikipedia.org/wiki/List_of_FIFA_World_Cup_finals, Il ne pouvait pas trouver tbody comme son élément, mais je peux voir le tbody quand j'ai inspecter l'élément.

url = "http://en.wikipedia.org/wiki/List_of_FIFA_World_Cup_finals"
soup = BeautifulSoup(urllib2.urlopen(url).read())

print soup.findAll('table')[2]

    soup.findAll('table')[2].tbody.findAll('tr')
    for row in soup.findAll('table')[0].tbody.findAll('tr'):
        first_column = row.findAll('th')[0].contents
        third_column = row.findAll('td')[2].contents
        print first_column, third_column

Voici ce que j'ai reçu de commentaires d'erreur:

'
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-150-fedd08c6da16> in <module>()
      7 # print soup.findAll('table')[2]
      8 
----> 9 soup.findAll('table')[2].tbody.findAll('tr')
     10 for row in soup.findAll('table')[0].tbody.findAll('tr'):
     11     first_column = row.findAll('th')[0].contents

AttributeError: 'NoneType' object has no attribute 'findAll'

'

OriginalL'auteur JPC | 2013-12-11