0

我有一个这样的 HTML:

<html>
<body>
<table>
   <tr>
       Text before Text1
       <td>Text1</td>
       Text after Text1
   </tr>
   <tr>
       Text before Text2
       <td>Text2</td>
       Text after Text2
   </tr>
</table>
</body>
</html>

我正在使用 lxml 和 Python。我想使用 XPath 来查找Text after Text1Text after Text2

我尝试了 XPath/html/body/table/tr并获取了相对路径的文本./td,但我只能获取Text before Text1and Text before Text2

那么我该如何实现呢?

一个例子:

<tr>
  <td width="16"><img alt="" src="http://source.qunar.com/site/images/airlines/small/HU.gif"></td>
  <td valign="top">海航<span class="dc">HU7605</span><br>首都T1-虹桥/td>
</tr>

我能找到海航但找不到首都T1-虹桥

4

2 回答 2

1

假装你的文件在data.xml.

from lxml import etree

data = etree.parse('data.xml')

for row in data.xpath('/html/body/table/tr'):
    before, after = row.xpath('text()')
    print before, after
于 2012-08-18T09:01:56.983 回答
0

您可以像这样获得 Xpath 值

             "//tr"  or "//tr/td"
于 2012-08-18T08:35:37.030 回答