1
我試圖使用XPATH從XHTML文件中提取數據,我有一個場景,我想匹配一個TD元素,然後在它之後獲得TD。XPath在標準匹配節點之後選擇節點
下面是HTML樣本
<tr>
<td colspan="3" style="border-top:1px solid rgb(234,234,234);padding:0pt 0pt 16px;width:560px"> </td>
</tr>
<tr>
<td colspan="2" style="font:12px/18px Arial,sans-serif;padding:0 10px 0 0;color:rgb(51,51,51);width:480px" align="right" valign="top"> Item Subtotal: </td>
<td style="font:12px/18px Arial,sans-serif;color:rgb(51,51,51);width:80px" align="right" valign="top"> $25.79 </td>
</tr>
<tr>
<td colspan="2" style="font:12px/18px Arial,sans-serif;padding:0 10px 0 0;color:rgb(51,51,51);width:480px" align="right" valign="top"> Shipping & Handling: </td>
<td style="font:12px/18px Arial,sans-serif;color:rgb(51,51,51);width:80px" align="right" valign="top"> $0.00 </td>
</tr>
<tr>
<td colspan="2" style="font:12px/18px Arial,sans-serif;padding:0 10px 0 0;color:rgb(51,51,51);width:480px" align="right" valign="top"> Total Before Tax: </td>
<td style="font:12px/18px Arial,sans-serif;color:rgb(51,51,51);width:80px" align="right" valign="top"> $25.79 </td>
</tr>
<tr>
<td colspan="2" style="font:14px Arial,sans-serif;padding:10px 10px 10px 0;color:#333;width:480px" align="right" valign="top"> Shipment Total: </td>
<td style="color:#333;font:14px Arial,sans-serif;padding:10px 0 5px 0;color:#333;width:80px" align="right" valign="top"> <b> $25.79 </b> </td>
</tr>
什麼我試圖做的是,用了「出貨總」拿到TD元素,然後之後它提取從TD元素的值。我設法使用XPath選擇元素,但不能找到一種方法來跳轉到下一個元素
xhtml = etree.HTML(i.get('content').encode('utf8'))
result = etree.tostring(xhtml, pretty_print=True, method="html")
root = html.fromstring(result)
print root.xpath('//td[contains(text(), "Shipment Total:")]')
它更容易待辦事項,在BeautifulSoup,但我使用XPath的限制,任何人都可以幫助,如果這將是可能的嗎?
感謝