python – 使用lxml.html提取文本

前端之家收集整理的这篇文章主要介绍了python – 使用lxml.html提取文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 HTML文件
<html>
    <p>somestr
        <sup>1</sup>
       anotherstr
    </p>
</html>

我想将文本提取为:
somestr1anotherstr

但我无法弄清楚该怎么做.我写了一个to_sup()函数,它将数字字符串转换为上标,所以我得到的最接近的是:

for i in doc.xpath('.//p/text()|.//sup/text()'):
    if i.tag == 'sup':
        print to_sup(i),else:
        print i,

但我的ElementStringResult似乎没有一个方法获取标签名称,所以我有点迷失.任何想法如何解决

解决方法

只是不要在XPath中的sup节点上调用text().
for x in doc.xpath("//p/text()|//sup"):
    try:
        print(to_sup(x.text))
    except AttributeError:
        print(x)
原文链接:https://www.f2er.com/python/185841.html

猜你在找的Python相关文章