1. 程式人生 > >網頁內容以&#開頭以;結尾的編碼(四)轉漢字--python

網頁內容以&#開頭以;結尾的編碼(四)轉漢字--python

span 測試 utl -c .com -- p s 方法 uci

在抓取下來的網頁源碼顯示的是如下的內容,而不是可讀性的漢字

(當然,如果是在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