requests 中文亂碼

2021-08-17 20:03:52 字數 713 閱讀 1502

由於 requests 庫的簡潔與強大,正在被大量使用,目前我也在使用,並逐漸喜歡上它。但有時會出現中文亂碼問題,需要進行解決。

result = requests.get(「

result_text = result.text

以上述語句獲得頁面內容時很有可能會出現亂碼,原因是 result.text 返回的是unicode型的資料。

於是解決方案有兩種:

1.獲取bytes型的資料然後再轉成字串

result = requests.get(url)

data = result.content

result_text = str(data, 'utf-8')

2.requests 會自動解碼來自伺服器的內容。如果你不規定,requests 會基於 http 頭部對響應的編碼作出有根據的推測。當你訪問 r.text 之時,requests 會使用其推測的文字編碼。但這種推測有時是不準確的。甚至有可能會使用requests庫的自身編碼 —— 「iso-8859-1」

所以在 使用 result.text 獲取內容前,我們可以先規定文字編碼格式

result = requests.get(「

result.encoding='utf-8'

result_text = result.text

青冥曉月

python 解決requests中文亂碼

import requests 爬取陽光電影 html requests.get print html.text 執行發現,列印亂碼 href html gndy jddy 20160320 50541.html imdb 8 400 a href html gndy jddy 20200627 6...

python2 requests中文亂碼

情況有多種 1 只包含中文和ascii字元,網上流行的先設定encoding再取content或者text,這裡不介紹了 解決辦法 2.1 不管亂碼有多嚴重,先用乙個相容性很強的編碼unicode escape解剖開 2.2 根據之前的報錯結合解剖過的unicode escape編碼內容檢查錯誤。這...

Requests中文亂碼解決方案

分析 r requests.get r.text返回的是unicode型的資料。使用r.content返回的是bytes型的資料。也就是說,如果你想取文字,可以通過r.text。如果想取,檔案,則可以通過r.content。方法1 使用r.content,得到的是bytes型,再轉為str url ...