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

如何从嵌套span标签中提取"Part-time, Full-time"与"On Campus"?

提取目标文本的几种实用方法

给定你提供的HTML结构,这里有几个直接可行的提取思路:

  • 方法1:父元素文本拆分法
    先拿到外层SecondaryFacts容器的完整文本,会得到Master / Part-time, Full-time / On Campus,接着用/做分隔符把字符串拆成列表,去掉每个元素的前后空格后,第2项和第3项就是你要的内容。
    用Python BeautifulSoup实现的示例代码:

    from bs4 import BeautifulSoup
    
    html = '<span class="SecondaryFacts DesktopOnlyBlock" data-v-3c87c7ca="">Master <span class="Divider" data-v-3c87c7ca="">/</span> Part-time, Full-time <span class="Divider" data-v-3c87c7ca="">/</span> On Campus</span>'
    soup = BeautifulSoup(html, 'html.parser')
    parent_full_text = soup.find('span', class_='SecondaryFacts').get_text()
    split_parts = [part.strip() for part in parent_full_text.split('/') if part.strip()]
    part_time_full_time = split_parts[1]
    on_campus = split_parts[2]
    
  • 方法2:借助Divider的兄弟节点
    每个Divider标签后面紧跟着的就是目标文本,定位到Divider元素后,直接取它的下一个兄弟文本节点,再去掉多余空格就行。
    示例代码:

    dividers = soup.find_all('span', class_='Divider')
    part_time_full_time = dividers[0].next_sibling.strip()
    on_campus = dividers[1].next_sibling.strip()
    
  • 方法3:直接选取父元素的子文本节点
    外层SecondaryFacts的子节点里,除了两个Divider标签,剩下的就是文本节点。筛选出非空的文本节点后,取第2和第3个就是目标内容。
    示例代码:

    parent_container = soup.find('span', class_='SecondaryFacts')
    valid_text_nodes = [node.strip() for node in parent_container.contents if isinstance(node, str) and node.strip()]
    part_time_full_time = valid_text_nodes[1]
    on_campus = valid_text_nodes[2]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:22:18