Python Xpath 提取html整個元素(標籤與內容)

右介發表於2018-01-16

提取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]

 

相關文章