Недавно я увидел, что другой пользователь задал вопрос об извлечении информации из веб-таблицы Извлечение информации с веб-страницы с python . Ответ от ekhumoro прекрасно работает на странице, которую попросил другой пользователь. Увидеть ниже.
from urllib2 import urlopen
from lxml import etree
url = 'http://www.uscho.com/standings/division-i-men/2011-2012/'
tree = etree.HTML(urlopen(url).read())
for section in tree.xpath('//section[starts-with(@id, "section_")]'):
print section.xpath('h3[1]/text()')[0]
for row in section.xpath('table/tbody/tr'):
cols = row.xpath('td//text()')
print ' ', cols[0].ljust(25), ' '.join(cols[1:])
print
Моя проблема заключается в использовании этого кода в качестве руководства для анализа этой страницы http://www.uscho.com/rankings/d-i-mens-poll/
, Используя следующие изменения, я могу получить только h1 и h3 для печати.
Input
url = 'http://www.uscho.com/rankings/d-i-mens-poll/'
tree = etree.HTML(urlopen(url).read())
for section in tree.xpath('//section[starts-with(@id, "rankings")]'):
print section.xpath('h1[1]/text()')[0]
print section.xpath('h3[1]/text()')[0]
for row in section.xpath('table/tbody/tr'):
cols = row.xpath('td/b/text()')
print ' ', cols[0].ljust(25), ' '.join(cols[1:])
print
выход
USCHO.com Division I Men's Poll
December 12, 2011
Структура таблицы выглядит одинаково, поэтому я не понимаю, почему я не могу использовать подобный код. Я просто инженер-механик в пути над головой. Любая помощь приветствуется.