как достать из таблицы прекрасный суп из питона?
Я пытаюсь удалить год и победителей (первый и второй столбцы) из таблицы «Список финальных матчей» (вторая таблица) изhttp://en.wikipedia.org/wiki/List_of_FIFA_World_Cup_finalsЯ использую код ниже:
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
С помощью приведенного выше кода я смог получить первый и третий столбец просто отлично. Но когда я использую тот же код сhttp://en.wikipedia.org/wiki/List_of_FIFA_World_Cup_finals
, Он не может найти тело в качестве своего элемента, но я могу видеть тело, когда осматриваю элемент.
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
Вот что я получил от ошибки комментария:
'
---------------------------------------------------------------------------
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'
'