Python Xpath 提取html整个元素(标签与内容)


提取html某标签中文字时,文字中含有:“<sub>2</sub>O<sub>5</sub>”,导致提取的文字不符合预期。

解决方法:

#coding=utf-8
from lxml import etree
from HTMLParser import HTMLParser

html = u'''
<html>
    <span id="chTitle">退火对Nb<sub>2</sub>O<sub>5</sub>薄膜的折射率和厚度的影响</span>
</html>
'''

tree = etree.HTML(html)

# 结果为:退火对Nb
content1 = tree.xpath("//span[@id='chTitle']/text()")[0]
print content1

# 结果为:退火对Nb<sub>2</sub>O<sub>5</sub>薄膜的折射率和厚度的影响
table = tree.xpath("//span[@id='chTitle']")[0]
content2 = etree.tostring(table, method='html')
print HTMLParser().unescape(content2)[19:-8]

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM