Python爬蟲教程-03-使用 chardet 檢測編碼

肖朋偉發表於2018-09-06

Spider-03-使用chardet

繼續學習python爬蟲,我們經常出現解碼問題,因為所有的頁面編碼都不統一,我們使用chardet檢測頁面的編碼,儘可能的減少編碼問題的出現

網頁編碼問題解決

  • 使用chardet 可以自動檢測頁面檔案的編碼格式,但是也有可能出錯
  • 需要安裝chardet,
    - 如果使用Anaconda環境,使用下面命令:
    conda install chardet
    - 如果不是,就自己手動在【PyCharm】>【file】>【settings】>【Project Interpreter】>【+】>【chardet】>【install】
    具體操作截圖:

這裡寫圖片描述

案例v2

# py03chardet.py
# 使用request下載頁面,並自動檢測頁面編碼

from urllib import request
import chardet

if __name__ == '__main__':

    url = 'https://jobs.zhaopin.com/CC375882789J00033399409.htm'

    rsp = request.urlopen(url)
    # 按住Ctrl鍵不送,同時點選urlopen,可以檢視文件,有函式的具體引數和使用方法

    html = rsp.read()
    cs = chardet.detect(html)

    print("cs的型別:{0}".format(type(cs)))
    print("監測到的cs資料:{0}".format(cs))

    html = html.decode(cs.get("encoding", "utf-8"))
    # 意思是監測到就使用監測到的,監測不到就使用utf-8

    print("HTML頁面為:\n%s" % html)

右鍵執行,截圖如下

這裡寫圖片描述
編碼檢測就介紹完了,最要的功能是檢測頁面的編碼,儘可能的減少編碼問題的出現

更多文章連結:Python 爬蟲隨筆


  • 本筆記不允許任何個人和組織轉載

相關文章