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

如何用Beautiful Soup提取多个指定class标签内的文本?

提取所有<p class="fontsize--h3">标签内的文本

嗨,咱们来解决这个问题~看你的代码和返回的ResultSet结果,要提取每个div里目标p标签的文本其实很简单,直接遍历这个结果集,在每个div里定位到对应的p标签就行。这里有两种实用的实现方式:

方式一:普通循环(可读性更强)

# 遍历boal_data里的每个div元素
for div_item in boal_data:
    # 在当前div中找到class为fontsize--h3的p标签
    target_paragraph = div_item.find('p', class_='fontsize--h3')
    # 提取文本(加个判断避免找不到标签时报错)
    if target_paragraph:
        # strip=True可以移除文本前后的空格、换行符,让结果更整洁
        print(target_paragraph.get_text(strip=True))

方式二:列表推导式(代码更简洁)

如果想把所有文本一次性收集到一个列表里,用列表推导式一步搞定:

# 生成包含所有目标文本的列表
extracted_texts = [
    item.find('p', class_='fontsize--h3').get_text(strip=True)
    for item in boal_data
    # 确保每个div里确实存在目标p标签,避免报错
    if item.find('p', class_='fontsize--h3')
]

# 打印结果
print(extracted_texts)

运行后你会得到干净的结果:

['Apr 2018', 'Netherlands', '€156m', '370']

小提示

  • strip=True是可选参数,但加上它能去掉文本前后多余的空白字符(比如换行、空格),让输出更整洁;
  • 加入if判断是为了避免某个div里没有目标p标签时抛出AttributeError,让代码更健壮。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:24:21