我有这行代码:
<div class="score-line"><span class="home-team team team-900">South Africa</span><span class="score">27 - 27</span><span class="away-team team team-100">Australia</span></div>
它在页面上选择一个div标签页面,它的外观如下:
span
如何选择第一个和第三个class
(南非,澳大利亚)的文字?此外,span标记的类别也会更改,因此我可以在不搜索invert
的情况下进行更改,而不是选择第一个&amp;第三跨?
答案 0 :(得分:2)
单线解决方案:
s1,s2 = soup.find("div", { "class" : "score-line" }).select('span:nth-of-type(1),span:nth-of-type(3)')
print(s1.text, s2.text)
输出:
South Africa Australia
答案 1 :(得分:1)
您可以使用find_all()方法获取跨度列表:
scoreline_div = soup.find("div", { "class" : "score-line" })
spans = scoreline_div.find_all('span')
# spans[0].text should return 'South Africa'
# spans[2].text should return 'Australia'