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

使用BeautifulSoup循环提取符合指定class条件的节点下a标签内文本

实现方案

我们的筛选逻辑为:先定位所有class属性为ELEMENT4的div节点,再校验该节点下是否存在class属性为ELEMENT5的svg子节点,满足两个条件后即可提取对应节点下的目标TEXT文本。

完整代码示例

from bs4 import BeautifulSoup

# 此处替换为你实际获取的HTML源码
html_content = '''
<div class="ELEMENT1">
       <div class="ELEMENT2">
            <div class="ELEMENT3">valeur1</div>
            <div class="ELEMENT4">
                    <svg class="ELEMENT5 ">
            <a href="ELEMENT6" target="ELEMENT7" class="ELEMENT8">
                    <div>TEXT</div>
'''

# 解析HTML
soup = BeautifulSoup(html_content, 'html.parser')

# 循环筛选符合条件的节点
for elem4_div in soup.find_all('div', class_='ELEMENT4'):
    # 校验当前ELEMENT4 div下是否存在ELEMENT5类的svg
    if elem4_div.find('svg', class_='ELEMENT5'):
        # 提取目标文本,strip=True会自动去除首尾空白字符
        target_text = elem4_div.find('a').find('div').get_text(strip=True)
        # 此处可以替换为你需要的后续处理逻辑
        print(target_text)

补充说明

  • 如果a标签的class属性固定为ELEMENT8,也可以把提取文本的那行替换为target_text = elem4_div.find('a', class_='ELEMENT8').find('div').get_text(strip=True),定位精度更高
  • BeautifulSoup的class_参数默认支持匹配多class属性中的单个值,你给出的示例中svg的class为ELEMENT5 (末尾带空格),该写法依然可以正常匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:45:01