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

如何使用BeautifulSoup快速获取指定父div下第二个子div的文本内容

解决方法

你之前的代码存在两个明显错误:

  • 查询的父div类名写为f_fs13 margin_top15,但你提供的HTML中父div仅包含f_fs13类,无法匹配到对应元素
  • 索引[1]不能直接写在find_all的参数里,需要先拿到find_all返回的元素列表后再通过索引取值

最简实现代码

如果页面中只有一个类为f_fs13的父div,直接用一行代码即可拿到目标文本:

target_text = page_soup.find("div", class_="f_fs13").find_all("div")[1].get_text(strip=True)

如果页面中存在多个类为f_fs13的父div,先选定对应父元素再取值即可:

# 先拿到所有符合条件的父div
parent_div_list = page_soup.find_all("div", class_="f_fs13")
# 取第N个父div下的第二个子div文本,索引从0开始计数
target_text = parent_div_list[0].find_all("div")[1].get_text(strip=True)

补充说明

  • find方法仅返回匹配到的第一个元素,适合确定只有一个目标父元素的场景,比find_all更高效
  • find_all("div")返回父元素下所有子div组成的列表,索引从0开始,所以第二个元素取索引[1]
  • get_text(strip=True)会自动去除文本前后的多余换行、空格,直接拿到干净的range 5内容
  • 如果怕出现索引越界报错,可以先判断len(父div下的子div列表) >= 2再执行取值操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:06:03