python爬蟲中文輸出問題以及不即時輸出問題

2021-08-13 14:29:58 字數 611 閱讀 5388

使用sublime執行爬蟲程式時,會有報錯unicodeencodeerror: 'gbk' codec can't encode character '\xbb' in position 0: illegal multibyte sequence的情況,因為python安裝在windows平台上,cmd的預設編碼為gbk,所以在cmd中顯示中文時會經常提示gbk編碼錯誤。

網上搜尋一下,其中一種解決方案是:

import io

import sys

這樣修改後問題是解決了,但是還會有個坑。爬蟲程式在處理網頁請求時需要時間,你如果想要判斷程式是否在執行,可能會在不同的位置加列印語句來判斷。這個時候因為前面的改變輸出字符集操作,會導致整段程式全部跑完才會輸出,而不是實時輸出print語句,例如:

1按時

常理來說應該是先輸出"你好",然後輸出"你好1",等待10s後輸出"你好2"

但是實際執行時,會卡住一會(延遲10s)然後同時輸出"你好","你好1","你好2"

解決方法2:在要列印的地方加上sys.stdout.flush(),未驗證

python 解決中文輸出問題

python在輸出中文時會提示解碼失敗 需要在程式最開始加上如下 usr bin env python coding utf 8 或者 usr bin env python coding utf 8 usr bin env python 這種用法是為了防止作業系統使用者沒有將python裝在預設的 ...

python 中中文編碼及輸出問題

在計算機中僅支援英文本元,也就是ascii字元,他包含一些字元和標點,用乙個位元組表示。但是中文字元編碼需要兩個位元組,如果中文字元和ascii混在一起就會出現錯誤。兩個位元組的中文編碼有gb2312,gbk,big5。為了滿足不同的語言包含在統一編碼字符集中,國際上流行的是unicode,他滿足跨...

python2 中文輸出問題

使用python查詢mysql之後的中文類似以下這種,有時候是字典,也有展示問題 x89 xe8 x8e x89 xe8 x8a xb1 xe8 怎麼正常顯示呢,兩種方案 第一 request dict print json.dumps request dict,encoding utf 8 ens...