首頁  >  文章  >  後端開發  >  python判斷網頁編碼的方法

python判斷網頁編碼的方法

高洛峰
高洛峰原創
2017-02-25 13:35:131288瀏覽

在web開發的時候我們常常會遇到網頁抓取和分析,各種語言都可以完成這個功能。我喜歡用python實現,因為python提供了很多成熟的模組,可以很方便的實現網頁抓取。

但是在抓取過程中會遇到編碼的問題,那今天我們來看一下如何判斷網頁的編碼:
網上很多網頁的編碼格式都不一樣,大體上是GBK,GB2312,UTF-8等。
我們在取得網頁的的資料後,先要對網頁的編碼進行判斷,才能把抓取的內容的編碼統一轉換為我們能夠處理的編碼,避免亂碼問題的出現​​。

以下介紹兩種判斷網頁編碼的方法:

總結:第二個方法很準確,在網頁編碼分析的時候用python模組分析內容是最準確的,而使用分析meta頭資訊的方法是不太準確的。

方法一:使用urllib模組的getparam方法    

import urllib
#autor:pythontab.com
fopen1 = urllib.urlopen('http://www.baidu.com').info()
print fopen1.getparam('charset')# baidu

方法二:使用chardet模組    

#如果你的python没有安装chardet模块,你需要首先安装一下chardet判断编码的模块哦 
#author:pythontab.com
import chardet 
import urllib
#先获取网页内容
data1 = urllib.urlopen('http://www.baidu.com').read()
#用chardet进行内容分析
chardit1 = chardet.detect(data1)
 
print chardit1['encoding'] # baidu

#以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持PHP中文網。

更多python判斷網頁編碼的方法相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn