You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网页抓取中如何获取HTML内的第二个span元素?

获取第二个span元素的几种方法

i.span本质是调用了find('span'),只会返回第一个匹配的span元素,要拿到第二个可以试试下面几种方法:

方法1:用find_all()获取所有span后取索引

先获取所有span元素组成的列表,再通过索引1(Python列表从0开始计数)选取第二个:

# 获取所有span元素
all_spans = i.find_all('span')
# 取第二个span
second_span = all_spans[1]
# 提取文本的话可以用
span_text = second_span.text.strip()

方法2:用CSS选择器直接定位

利用CSS选择器的:nth-of-type(2)规则,直接选中父元素下的第二个span:

second_span = i.select_one('span:nth-of-type(2)')

补充:通过兄弟元素定位

因为你的例子里第一个span有明确的item-num类,也可以先找到第一个span,再取它的下一个有效兄弟元素:

first_span = i.find('span', class_='item-num')
second_span = first_span.next_sibling.next_sibling
# 两次next_sibling是因为HTML里的换行、空格会被解析为NavigableString节点

你的目标HTML代码:

<h2 id="jojo-39-s-bizarre-adventure"> 
<span class="item-num">7 </span> 
<span>Jojo's Bizarre Adventure</span> 
</h2>

内容的提问来源于stack exchange,提问作者HotSpices

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:02:18