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