python中的編碼
字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。
decode的作用是將其他編碼的字串轉換成unicode編碼,如str1.decode(『gb2312』),表示將gb2312編碼的字串str1轉換成unicode編碼,encode的作用是將unicode編碼轉換成其他編碼的字串,如str2.encode(『gb2312』),表示將unicode編碼的字串str2轉換成gb2312編碼。
因此,轉碼的時候一定要先搞明白,字串str是什麼編碼,然後decode成unicode,然後再encode成其他編碼。
requests中的編碼
先上結論:之所以request的響應內容亂碼,是因為模組中並沒有正確識別出encoding的編碼,而s.txt的結果是依靠encoding的編碼「iso-8859-1」解碼出的結果,所以導致亂碼。
所以正確的邏輯應該這樣:
s = requests.get(
'')
一般可以先判斷出編碼,比如編碼為gb2312,
str
= s.content
可以直接用正確的編碼來解碼。
str
.decode(
'gb2312'
)
那麼知道這個邏輯,接下來就是需要正確判斷網頁編碼就行了,獲取響應html中的charset引數:
"content-type" content=
"text/html; charset=utf-8"
>
但實際上我們可以直接執行encoding為正確編碼,讓response.text正確解碼即可:
response=requests.get(
'www.test.com'
)
requests庫的get方法
安裝requests庫 pip install requests 就像安裝其他庫那樣 get函式原型 requests.get url,params none,kwargs 其中,url是鏈結,params是url中的額外引數,字典或位元組流格式,後面是12個引數,以鍵值對的形式表示,後面詳述。r....
Requests庫的get 方法
第一周學習目標 本週內容分為三個單元 我在安裝requests庫時遇到的問題 2 在cmd視窗輸入python正常 我沒有安裝pip 好像在安裝python的時候自動安裝了pip 3 在cmd視窗輸入 pip install requests,然後系統提示了很多東西,大致意思是說pip版本不夠新,因...
使用requests傳送get請求
基本用法 import requests req requests.get 發起get請求 print req.text 列印響應內容req.ok 檢查返回碼是不是 200 ok 如果是則返回true,否則返回false req.url 檢視請求的url,也就是 req.text 檢視返回的響應內容...