含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 HTMLParser
def decodeHtml(input):
h = HTMLParser.HTMLParser()
s = h.unescape(input)
return s
c = (含html转义字符的内容, 如需测试请自行粘贴)
print decodeHtml(c)


 

posted @ 2018-07-20 17:06  python许三多  阅读(6272)  评论(1编辑  收藏  举报