判斷網頁編碼的方法python版
在web開發(fā)的時候我們經常會遇到網頁抓取和分析,各種語言都可以完成這個功能。我喜歡用python實現(xiàn),因為python提供了很多成熟的模塊,可以很方便的實現(xiàn)網頁抓取。
但是在抓取過程中會遇到編碼的問題,那今天我們來看一下如何判斷網頁的編碼:
網上很多網頁的編碼格式都不一樣,大體上是GBK,GB2312,UTF-8等。
我們在獲取網頁的的數(shù)據后,先要對網頁的編碼進行判斷,才能把抓取的內容的編碼統(tǒng)一轉換為我們能夠處理的編碼,避免亂碼問題的出現(xiàn)。
下面介紹兩種判斷網頁編碼的方法:
總結:第二個方法很準確,在網頁編碼分析的時候用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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python3.6基于正則實現(xiàn)的計算器示例【無優(yōu)化簡單注釋版】
這篇文章主要介紹了Python3.6基于正則實現(xiàn)的計算器,涉及Python基于正則表達式的算術式遍歷、查找及數(shù)學運算相關操作技巧,需要的朋友可以參考下2018-06-06使用scipy.optimize的fsolve,root函數(shù)求解非線性方程問題
這篇文章主要介紹了使用scipy.optimize的fsolve,root函數(shù)求解非線性方程問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12