【发布时间】:2021-04-07 02:52:24
【问题描述】:
我目前正在解析在 Outlook 中创建的 HTML 格式的电子邮件。我一直在生成元素的路径,但有些标签有像
这样的前缀。下面的代码将
解析为
标记(删除前缀),但我试图包含整个
。有没有办法在 lXML 中强制这样做?
举个例子
<body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi Joe<o:p></o:p>
解析为
/html/body/div/p[1]/p
但我想得到
/html/body/div/p[1]/o:p
parser = etree.HTMLParser()
etree.ElementTree.register_namespace('<o>')
try:
root = etree.fromstring(messageHTML2, parser)
print(root)
except Exception as e:
print(e)
tree = etree.ElementTree(root)
for e in root.iter():
pathItemList.append(tree.getpath(e))
【问题讨论】:
标签: python html outlook tags lxml