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

如何抓取无类名的特定<p>标签内容,获取Height对应的数值155?

问题1:获取所有p标签文本的解决方案

你的代码存在三处问题:

  • 变量引用错误:循环中定义的循环变量是info,但实际调用查找方法时用了未定义的para,属于笔误
  • 查找方法使用错误:find('p')只会返回匹配到的第一个p标签,要获取当前节点下所有p标签需要用find_all('p')
  • 逻辑层级错误:所有目标p标签都在同一个class为p3的父div内部,不需要遍历p3的div列表,直接在父div下查找所有p即可

正确代码如下:

p_list = []
# 定位到class为p3的父div
p3_div = soup.find('div', class_='p3')
# 查找该父div下所有p标签
all_p_tags = p3_div.find_all('p')
for p in all_p_tags:
    p_list.append(p.get_text(strip=True))

print(p_list)
# 输出结果:['110', '55', '28', '155']
问题2:通过Height文本直接定位对应p标签的方案

可以利用BeautifulSoup的节点遍历能力,先定位到文本为Height的strong标签,再通过同级节点关系找到对应的p标签,不需要先存储所有p标签再筛选:

# 定位文本为Height的strong标签
height_strong = soup.find('strong', string='Height')
# 向上找到父级span标签,再找下一个同级的p标签
height_p = height_strong.find_parent('span').find_next_sibling('p')
height_value = height_p.get_text(strip=True)

print(height_value)
# 输出结果:155

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:15:04