网页内容以&#开头以;结尾的编码(四)转汉字--python

Posted python_worm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网页内容以&#开头以;结尾的编码(四)转汉字--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 = (这里是要转码的以&#开头的内容, 如需测试请自行粘贴)
print decodeHtml(c)


 







以上是关于网页内容以&#开头以;结尾的编码(四)转汉字--python的主要内容,如果未能解决你的问题,请参考以下文章

REGEXP_REPLACE 字符串以雪花中的特定子字符串开头和结尾

&#x开头的是什么编码?

浏览器解析规则

python中,把‘&#’ ‘&#x开头的字符串转换成中文

请教会linux shell脚本的=~是什么意思?

请教会linux shell脚本的=~是什么意思?