由於 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 ...