python – 使用lxml.html提取文本

python – 使用lxml.html提取文本,第1张

概述我有一个 HTML文件: <html> <p>somestr <sup>1</sup> anotherstr </p></html> 我想将文本提取为:  somestr1anotherstr 但我无法弄清楚该怎么做.我写了一个to_sup()函数,它将数字字符串转换为上标,所以我得到的最接近的是: for i in doc.xpath('.//p/ 我有一个 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)
总结

以上是内存溢出为你收集整理的python – 使用lxml.html提取文本全部内容,希望文章能够帮你解决python – 使用lxml.html提取文本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1207270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存