爬蟲 關於網頁編碼

2021-10-18 12:28:32 字數 798 閱讀 2073

當我們用爬蟲成功獲取網頁原始碼後,可能列印出來卻是亂碼的,因為使用requests模組時,程式會根據http頭自動判斷網頁編碼,但這樣做就顯得不太準確,所以還需要我們手動修改。

手動修改網頁編碼顯得繁瑣且笨拙,我們引入乙個新的模組cchardet來幫助我們完成這一系列的工作。

可以看到,requests模組自動判斷的網頁編碼方式為』iso-8859-1』,但cchardet判斷的編碼方式為』gb18030』,根據實際驗證,發現後者的編碼方式正確,所以cchardet的準確性更高。

detect函式返回值為乙個字典,其中encoding表示編碼方式,confidence表示準確度

如果要得到請求返回的二進位制資料,直接return res.content即可,如果要獲得網頁文字,那麼建議先判斷編碼方式,然後對二進位制使用得到的編碼方式進行解碼,從而得到顯示正常的文字。其中,res.content.decode(encoding)得到的是乙個str型別資料。

也可以:res.encoding = cchardet.detect(res.content)['encoding']

Python爬蟲獲取網頁編碼格式

網頁編碼格式是每個網頁規定的本頁面文字的編碼方式,其中比較流行的是ascii,gbk,utf 8,iso等。觀察許多網頁的編碼格式都是在meta標籤的content屬性中定義的。基於以上特點本文提供獲取編碼格式的方法。如下 注 本人使用的是idle python 3.7 64 bit,裝載bs4庫 ...

網頁爬蟲php,php網頁爬蟲

網頁爬蟲 最簡單的使用,屬性都採用預設值 curl curl init output curl exec curl curl close curl echo output 稍微複雜一點的,對頁面進行操作 curl curl init curl setopt curl,curlopt url,可以動態...

關於爬蟲的編碼格式問題

unicodeencodeerror gbk codec can t encode character uc0ac in position 爬蟲編碼想從把構造的字典資訊寫進檔案。有兩種方法 一 用json import json js json.dumps a fp.writelines js n ...