Xpath не находит элементы после первого - PullRequest
0 голосов
/ 08 марта 2011

Я работаю на скребке с использованием xpath, но xpath кажется необъяснимым образом неспособным получить нужную мне информацию. Я смог получить приведенный ниже код для распечатки элемента таблицы и всего его содержимого, но как только я пытаюсь перейти к элементам tbody или tr, он начинает возвращать None. Вы также можете увидеть URL ниже.

Я использовал XPather в Firefox, чтобы подтвердить, что приведенное ниже верно, но по какой-то причине путь не удаётся после ввода в Python.

url = 'http://www.arkleg.state.ar.us/assembly/2011/2011R/pages/CommitteeDetail.aspx?committeecode=000'

with self.urlopen(url) as page:
    page = lxml.html.fromstring(page)

    for tr in page.xpath('//table[@class="gridtable"]/tbody/tr'):
        print tr.xpath('string(td[1])')

1 Ответ

2 голосов
/ 08 марта 2011

Firefox добавляет неявный tbody внутри элемента table, но его нет в исходном HTML для этой страницы. Этот XPATH должен работать, чтобы найти все теги tr:

for node in page.xpath('.//table[@class="gridtable"]/tr'):
...