用python模擬登錄知乎,爬回來的是亂碼?

第一次爬python首頁的時候,是亂碼的,然後隔天再爬又正常了我也不知道為什麼。。。然後模擬登錄的時候爬回來也是亂碼。。TAT。。。還有如果沒有fiddle如何查看發出的quest到底要包含哪些信息???求教!!!!
亂碼成這個樣子:


第一種方法,解壓伺服器發回來的壓縮數據~
第二種方法,去掉request header中的『Accept-Encoding』頭去掉~


兩種方法選一個就好~


究其原因,簡單來講就是,Server在與Browser通信的過程中,會按照Browser支持的壓縮格式壓縮後再回復,所以你在header中加入了「Accept-Encoding」其實就是告訴Server:「嘿,我支持Gzip/../..,你壓縮一下再給我吧~~~」然後Server就壓縮了~~~自然你收到的數據就是壓縮後的,你不解壓就去讀當然就成亂碼了。第一種解決辦法就是解壓Server給你的壓縮數據,第二種就是告訴伺服器我不會解壓,你別壓縮~~~

如上~~~


看python培訓黃哥的三篇文章

python開發爬蟲漢字編碼不再是問題:

將python2中漢字會出現亂碼的事一次性說清楚

article/python_bianma.md at master · pythonpeixun/article · GitHub
python爬蟲訪問多個網站、中文編碼的處理。

python爬蟲訪問多個網站、中文編碼的處理。
python3訪問sina首頁中文的處理

python3訪問sina首頁中文的處理


Accept-Encoding: gzip, deflate, br
把br去掉!


gzip壓縮的吧。。。。。。用gz庫解壓一下。


推薦閱讀:

在計算機中為何不直接使用UTF8編碼進行存儲,而要使用Unicode再轉換成UTF8?
Unicode 是不是只有兩個位元組,為什麼能表示超過 65536 個字元?
為什麼編碼(GBK、Big-5 等)問題這種歷史遺留始終得不到解決?
如何用 Potplayer 消除 .srt 文件的中文字幕亂碼?
如何評價 iOS 8.3 中各種膚色的 Emoji 表情?

TAG:Python | Unicode統一碼 | 爬蟲計算機網路 |