含html转义字符编码(四)转换--python
在抓取下来的网页源码显示的是如下的内容,而不是可读性的汉字
(当然,如果是在Web页面上展示,则实体会自动被浏览器转为原字符,正常显示)经查资料后得知, 在网页中以四开头的是HTML实体,具体什么是HTML实体,请百度:http://baike.baidu.com/view/4757776.htm
如何把汉字转换成HTML实体呢?
其实很简单,汉字的HTML实体由三部分组成,”&#+ASCII+;“ 即可。
Python中提供了一个模块:HTMLParser,里面有很多好用的方法,
我们可以使用:dir(HTMLParser.HTMLParser)查看该模块下的HTMLParser类属性,其中有一个方法:unescape(),
再使用:help(HTMLParser.HTMLParser.unescape),可以看到该方法的说明信息,但是几乎没什么用。其实该方法就是将HTML实体(带有&#符号打头的)进行解码,转换为原有字符。下面是简单实例:
import HTMLParserdef decodeHtml(input):c = (含html转义字符的内容, 如需测试请自行粘贴)
h = HTMLParser.HTMLParser()
s = h.unescape(input)
return s
print decodeHtml(c)