我有一个
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)

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。