【发布时间】:2015-11-30 16:22:13
【问题描述】:
我正在尝试从下表中提取具有相应单元格的行:
<table border="0" cellspacing="1" cellpading="3" width="100%">
<tr bgcolor="#505050">
<td><b></b></td>
<td colspan="2" align="center" class="white"><b>Last Day</b></td>
<td colspan="2" align="center" class="white"><b>Last Week</b></td>
</tr>
<tr bgcolor="#505050">
<td class="white"><b>Race</b></td>
<td align="center" class="white"><b>Killed Players</b></td>
<td align="center" class="white"><b>Killed by Players</b></td>
<td align="center" class="white"><b>Killed Players</b></td>
<td align="center" class="white"><b>Killed by Players</b></td>
</tr>
<tr bgcolor="#F1E0C6">
<td>A</td>
<td align="right">0</td>
<td align="right">3</td>
<td align="right">0</td>
<td align="right">13</td>
</tr>
<tr bgcolor="#D4C0A1">
<td>B</td>
<td align="right">0</td>
<td align="right">0</td>
<td align="right">0</td>
<td align="right">7</td>
</tr>
<tr bgcolor="#F1E0C6">
<td>C</td>
<td align="right">0</td>
<td align="right">0</td>
<td align="right">0</td>
<td align="right">1</td>
</tr>
<tr bgcolor="#D4C0A1">
<td>D</td>
<td align="right">0</td>
<td align="right">0</td>
<td align="right">0</td>
<td align="right">7</td>
</tr>
<tr bgcolor="#505050">
<td class=white><b>Total</b></td>
<td align="right" class="white"><b>210</b></td>
<td align="right" class="white"><b>1060458</b></td>
<td align="right" class="white"><b>1132</b></td>
<td align="right" class="white"><b>5585115</b></td>
</tr>
我感兴趣的行是带有 A、B、C 等且旁边有数字的行。
我想出的解决办法是:
table = tree.xpath("//table/tr[td[not(contains(@class, 'white'))]]")
for tr in table:
print( tr.xpath('td/text()'))
但是,输出仍然包括第一行空单元格和 Last Day/Week 单元格,如下所示:
['', 'Last Day', 'Last Week']
['A', '0', '3', '0', '13']
['B', '0', '0', '2', '0']
['C', '0', '3', '0', '5']
可以做些什么来摆脱它?
【问题讨论】:
-
你能发布你的预期输出吗?
-
好的,更新了原帖。