python – 如何选择除最后两个tr之外的所有tr

在lxml中,我使用xpath来选择表中的所有tr(具有不同数量的行),除了包含乱码的最后两行.

是否存在排除最后两行的模式匹配?我正在浏览xpath教程,显然有一个“except”运算符和一个“last()”,但似乎无法使我的代码工作.

到目前为止,我有这个.我该添加什么来使它排除最后两行?主要问题是tr的数量有所不同.

result = doc.xpath("//tr")

我想我可以把它变成一个列表,只删除最后两个元素,但有没有更容易/优雅的解决方案?

提前致谢!

解决方法:

result = doc.xpath("//tr")[0:-2]

应该做的伎俩.

上一篇:python – 来自fromsting()和tostring()的lxml.etree没有返回相同的数据


下一篇:解析HTML:Python中的lxml错误