我有一个
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,
解决方法
只是不要在XPath中的sup节点上调用text().
for x in doc.xpath("//p/text()|//sup"): try: print(to_sup(x.text)) except AttributeError: print(x)