HTML解析:获取两个元素之间的元素?

时间:2015-07-23 19:37:21

标签: python xpath

我在Python 2.7上使用lxml解析

我有一些看起来像这样的HTML:

hasChildren = 1

有没有办法让我在 <tr height="45" valign="bottom"> <td colspan="2" class="DATE">Wednesday, Aug 5 2015 </td> </tr> <tr> <td/> </tr> <tr> <td> </td> <td/> </tr> <tr> <td/> <td> - No Calendar Matters Currently Set<br/></td> </tr> <tr height="45" valign="bottom"> <td colspan="2" class="DATE">Thursday, Aug 6 2015 </td> </tr> 的两个元素之间获取所有td元素对象的列表?

基本上,我需要与8月5日相关的所有相关信息,但由于下一个日期之前的其他元素不是孩子,我很难弄清楚如何获取它们。

1 个答案:

答案 0 :(得分:0)

按要求写:所有元素都带有td [@class =&#34; DATE&#34;]提前和之前

//td[following::td[@class="DATE"] and preceding::td[@class="DATE"]]

但此套装不包含带@class =&#34;日期&#34;

的td标签

要包含它们,请使用xpath

//td[(following::td[@class="DATE"] and preceding::td[@class="DATE"]) or @class="DATE"]