这里的html代码段1:
<td class="firstleft lineupopt-name" style=""><a href="/link/link_url?id=222" title="Donald Trump" target="_blank">Trump, Donald</a> <span style="color:#666;font-size:10px;">B</span> <span style="color:#cc1100;font-size:10px;font-weight:bold;">TTT</span></td>
这里的html代码段2:
<td class="firstleft lineupopt-name" style=""><a href="/link/link_url2?id=221" title="Hillary Clinton" target="_blank">Clinton, Hillary</a> <span style="color:#cc1100;font-size:10px;font-weight:bold;">TTT</span></td>
这是我的相关代码:
all = cols[1].find_all('span')
for ele in all:
if (ele is not None):
ttt = cols[1].span.text
else:
ttt = 'none'
问题:我的代码在两个实例中都有效,但对于html代码段2,它会从第一个span标记中获取内容。在这两种情况下,如果标记存在,我只想从最后一个span标记中获取内容。如何才能做到这一点?
答案 0 :(得分:0)
一种直截了当的方法是通过1e+30 + 10 = 1e+30
索引获取最后一个元素:
-1
我还尝试使用modal来接近它,但ttt = all[-1].text if all else 'none'
不支持BeautifulSoup
,last-child
或last-of-type
,仅支持nth-last-of-type
伪类。