Python之動態檢測編碼chardet

2021-07-29 10:07:42 字數 1454 閱讀 7215

引言: 在網際網路的世界裡,每個頁面都使用了編碼,但是形形色色的編碼讓我們的**何以得知其棉麻格式呢?charset將很好的解決這個問題。

chardet是python社群提供了乙個類庫包,方便我們在**中動態檢測當前頁面或者檔案中的編碼格式資訊。介面非常的簡單和易用。

project主頁:

文件主頁:

2. 使用示例

notice: 筆者使用的python 3.5 +

case 1: 檢測特定頁面的編碼格式

import chardet

import urllib.request

testdata = urllib.request.urlopen('').read()

print(chardet.detect(testdata))

輸出結果:

結果分析, 其準確率99%的概率,編碼格式為utf-8

使用說明:detect()為其關鍵方法

case 2: 增量檢測編碼格式

import urllib.request

from chardet.universaldetector import universaldetector

usock = urllib.request.urlopen('')

detector = universaldetector()

for line in usock.readlines():

detector.feed(line)

if detector.done: break

detector.close()

usock.close()

print(detector.result)

輸出結果:

說明: 為了提高**的準確性,基於dector.feed()來實現持續的資訊輸入,在資訊足夠充足之後結束資訊輸入,給出相應的**和判斷。

如果需要復用detector方法,需要進行detector.reset()進行重置,從而可以復用。

case 3: 在安裝chardet之後,可以基於命令列來檢測檔案編碼

% chardetect somefile someotherfile

somefile: windows-1252 with confidence 0.5

someotherfile: ascii with confidence 1.0

在系統層面,可以直接基於命令列來進行檔案編碼檢測,非常簡單易用。

3. 總結

Python中動態檢測編碼chardet的使用教程

最近利用python抓取一些網上的資料,遇到了編碼的問題。非常頭痛,幸運的是找到了解決的方法,下面這篇文章主要跟大家介紹了關於python中動態檢測編碼chardet的使用方法,需要的朋友可以參考借鑑,下面來一起看看吧。前言在網際網路的世界裡,每個頁面都使用了編碼,但是形形色色的編碼讓我們的 何以得...

Python中動態檢測編碼chardet的使用教程

前言 在網際網路的世界裡,每個頁面都使用了編碼,但是形形色色的編碼讓我們的 何以得知其棉麻格式呢?charset將很好的解決這個問題。1.chardet chardet是python社www.cppcns.com區提供了乙個類庫包,方便我們在程式設計客棧 中動態檢測當前頁面或者檔案中的編碼格式資訊。...

python編碼檢測模組chardet

抓取一批頁面的內容時,經常會遇到編碼型別不同的問題,經常令我們比較頭痛,python有乙個第三方的編碼檢測模組模組,可以為我們自動檢測編碼型別,並給出信心度,它檢測的返回結果形式為 它是乙個字典型別,我們可以通過字典的方式訪問結果中的值。如果採用源 安裝方法,有可能會提示缺少setuptools這個...