我想从网站上获得“ Play by Play”信息:
http://www.euroleague.net/main/results/showgame?gamecode=197&seasoncode=E2015#!playbyplay
棘手的标记代码:
<tr>
<td>8</td>
<td>Def Rebound</td>
<td>13 - 13</td>
<td>Zalgiris Kaunas</td>
<td>VECVAGARS, KASPARS</td>
</tr>
<tr class="play">
<td>8</td>
<td>Two Pointer</td>
<td>15 - 13</td>
<td>Zalgiris Kaunas</td>
<td>VECVAGARS, KASPARS</td>
</tr>
在游戏中获得分数时,它将使用:
<tr class="play">
反而 :
<tr>
...以视觉方式分离信息。我想得到“一个又一个的事件”,而我正在使用的代码无法处理此问题:
for sel in response.xpath('//div[@class="wp-field wp-field-content table-responsive"]//div/table/tbody/tr'):
item['Minute'] = sel.xpath('td[1]/text()').extract()
我收到的结果是:
{'Event': [u'Def Rebound'],
'Minute': [u'19'],
'Player': [u'KIRILENKO, ANDREI'],
'Res_h': [u'31 - 38'],
'Res_v': [u'31 - 38'],
'Team_player': [u'CSKA Moscow']}
{'Event': [],
'Minute': [],
'Player': [],
'Res_h': [],
'Res_v': [],
'Team_player': []}
当代码必须处理“ tr”的“ play”类时,将显示空值。
问题:
当我在某些随机情况下有两个可能的标记选项时,该怎么办?
这将获得您想要的一切:
In [53]: l=['Event',
'Minute',
'Player',
'Res_h',
'Res_v', 'Team_player']
In [54]: table = r.xpath("//table[@class='table']")
In [55]: for tr in table.xpath(".//tr[position() > 1]"):
assert dict(zip(l, tr.xpath("./td//text()").extract())) != {}
....:
In [56]:
它跳过标题行并拉出所有其余部分,l中元素的顺序是错误的,但是这个想法是正确的,所以我将让您找出想要的内容和位置,这是由tr.xpath("./td//text()"
以下内容返回的代码段:
[u'15', u'Shot Rejected', u'29 - 25', u'Zalgiris Kaunas', u'HANLAN, OLIVIER']
[u'15', u'Block', u'29 - 25', u'Real Madrid', u'NOCIONI, ANDRES']
[u'15', u'Off Rebound', u'29 - 25', u'Zalgiris Kaunas', u' ']
[u'15', u'Two Pointer', u'31 - 25', u'Zalgiris Kaunas', u'VENE, SIIM-SANDER']
[u'15', u'Assist', u'31 - 25', u'Zalgiris Kaunas', u'RANDLE, JEROME']
[u'16', u'Minute', u'31 - 25', u' ', u' ']
[u'16', u'Three Pointer', u'31 - 28', u'Real Madrid', u'NOCIONI, ANDRES']
[u'16', u'Assist', u'31 - 28', u'Real Madrid', u'LLULL, SERGIO']
[u'16', u'Two Pointer', u'33 - 28', u'Zalgiris Kaunas', u'RANDLE, JEROME']
[u'16', u'Foul', u'33 - 28', u'Zalgiris Kaunas', u'SAJUS, MARTYNAS']
[u'16', u'Foul Drawn', u'33 - 28', u'Real Madrid', u'LLULL, SERGIO']
[u'16', u'Free Throw In', u'33 - 29', u'Real Madrid', u'LLULL, SERGIO']
[u'16', u'Free Throw In', u'33 - 30', u'Real Madrid', u'LLULL, SERGIO']
[u'16', u'In', u'33 - 30', u'Zalgiris Kaunas', u'JANKUNAS, PAULIUS']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句