使用Python通过XPath获取元素内容的最简单方法是什么?

时间:2010-12-24 08:29:21

标签: python xpath

我需要获取此XPath的内容:

/html/body/div/table[2]/tbody/tr/td[2]

它是从FireBug复制的。我怎样才能做到这一点?我有一个非常大的HTML文档,所以我不想(也不知道如何:))grep它。感谢。

2 个答案:

答案 0 :(得分:1)

lxml可以处理html(并提供相当不错的xpath支持):

>>> import lxml.html
>>> tree = lxml.html.parse('test.html')
>>> for node in tree.xpath('/html/body/div/table[2]/tbody/tr/td[2]'):
...     print node.text
...          
first row, second column
second row, second column

请确保使用html parser

答案 1 :(得分:0)

import lxml.html as h
tree = h.parse("keys_results.html")
text = tree.xpath("string(//*[contains(text(),'needed_text')])")
print text