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

Python使用BeautifulSoup提取特定span标签对应状态文本的方法咨询

你已经定位到了包含Status标识的span节点,目标文本是该span的同级后续文本节点,直接通过节点属性提取即可。

方案1:补全原有代码逻辑

from bs4 import BeautifulSoup as soup

Page_soup = soup(Page_html, "html.parser")
extra_info = Page_soup.find('td', attrs={'class': 'borderClass'})
span_html = extra_info.select('span')
status_text = ""
for span in span_html:
    if 'Status:' in span.get_text():
        # 提取span后的相邻文本,去除首尾换行、空格等冗余字符
        status_text = span.next_sibling.strip()
        break
print(status_text)

运行后输出结果即为Finished Airing。

方案2:更简洁的直接定位写法

无需循环遍历所有span,用BeautifulSoup内置的选择器直接定位目标节点:

from bs4 import BeautifulSoup as soup

Page_soup = soup(Page_html, "html.parser")
extra_info = Page_soup.find('td', attrs={'class': 'borderClass'})
# 直接匹配文本为Status:的dark_text类span
status_span = extra_info.select_one('span.dark_text:-soup-contains("Status:")')
if status_span:
    status_text = status_span.next_sibling.strip()
    print(status_text)

注意:如果使用的是4.10.0之前版本的BeautifulSoup,需要将:-soup-contains替换为:contains。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:15:03