網頁內容以&#開頭以;結尾的編碼(四)轉漢字--python
阿新 • • 發佈:2018-07-20
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 HTMLParserdef decodeHtml(input):c = (這裏是要轉碼的以&#開頭的內容, 如需測試請自行粘貼)
h = HTMLParser.HTMLParser()
s = h.unescape(input)
return s
print decodeHtml(c)
網頁內容以&#開頭以;結尾的編碼(四)轉漢字--python