在解析HTML内容时阻止etree解析HTML实体

时间:2014-03-08 01:04:18

标签: python lxml elementtree

在解析HTML内容时,有没有办法阻止etree解析HTML实体?

html = etree.HTML('<html><body>&amp;</body></html>')
html.find('.//body').text

这给了我'&amp;'但我想得到'&amp; amp;'本身。

1 个答案:

答案 0 :(得分:0)

您随时可以预先/后期处理您的数据。 替换&#39;&amp;&#39;与你&#39; \ xfe&#39;在提供给HTML解析器并替换你的&#39; \ xfe&#39;之前用&#39;&amp;&#39;输出时。

from lxml import etree
html = etree.HTML('<html><body>&amp;</body></html>'.replace('&',u'\xfe'))
html.find('.//body').text.replace(u'\xfe','&')
u'&amp;'