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

如何从邮件HTML片段中提取告警关联的用户名?

解决邮件告警HTML中提取source_username对应值的问题

问题原因

  • Parsel代码问题:XPath表达式中误用了HTML实体",应替换为单引号;同时原提取逻辑未精准定位到存储用户名的span标签,可能导致获取无关文本。
  • BeautifulSoup代码问题:使用string='source_username'无法匹配目标td标签,因为文本嵌套在子span节点中,且存在多余空白字符,无法完全精确匹配。

修正后的Parsel代码

from parsel import Selector

sel = Selector(text=html)

# 定位包含source_username的td标签
source_tag = sel.xpath('//td[contains(.//text(), "source_username")]')[0]
# 提取相邻td中span的文本并去除空白
source_username = source_tag.xpath('./following-sibling::td[1]//span/text()').get().strip()

print(source_username)

修正后的BeautifulSoup代码

from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')

# 先找到包含source_username的span,再定位其父td
source_span = soup.find('span', string=lambda text: text and 'source_username' in text.strip())
if source_span:
    source_tag = source_span.find_parent('td')
    # 获取下一个兄弟td的文本并去除空白
    source_username = source_tag.find_next_sibling('td').text.strip()
    print(source_username)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 10:11:25