方案一:requests請求成功時,設置它的編碼
1 def get_one(ur1): 2 res = requests.get(ur1) 3 res.encoding = '2312' #編碼格式 4 if res.status_code == 200: 5 return res.text 6 return None
注:前提是知道它的編碼,一般通過鼠標右鍵網頁就可以查看網頁原代碼
方案二:利用apparent_encoding
1 res.encoding = res.apparent_encoding if res.encoding == 'IS0-8859-1' else res.encoding 2 print(res.apparent_encoding)
注:apparent_encoding本質上是requests本身對網頁源碼的猜測,如果猜不到,會返回None
方案三:先解成二進制,之后再轉成想要的編碼方式
1 res.content.decode("utf-8", "ignore").encode("gbk", "ignore") 2 print(res.text)
方案四:修改headers里的Accept-Encoding參數,如下:
1 headers = {'Accept-Encoding':'deflate'}
