Я пытаюсь получить ссылки со страницы с xpath. Проблема в том, что мне нужны только ссылки внутри таблицы, но если я применил выражение xpath на всей странице, я захвачу ссылки, которые я не хочу.
Например:
tree = lxml.html.parse(some_response)
links = tree.xpath("//a[contains(@href, 'http://www.example.com/filter/')]")
Проблема заключается в том, что применяется выражение для всего документа. Я нашел элемент, который я хочу, например:
tree = lxml.html.parse(some_response)
root = tree.getroot()
table = root[1][5] #for example
links = table.xpath("//a[contains(@href, 'http://www.example.com/filter/')]")
Но это похоже на выполнение запроса во всем документе, так как я все еще захватываю ссылки за пределами таблицы. Эта страница гласит, что "Когда xpath() используется в элементе, выражение XPath оценивается по отношению к элементу (если относительный) или к корню дерево (если абсолютное):". Итак, что я использую, является абсолютным выражением, и мне нужно сделать его относительным? Это так?
В принципе, как я могу фильтровать только те элементы, которые существуют внутри этой таблицы?