python request 乱码

出现乱码的情况有很多,大家根据自己的实际情况来。有的就是页面编码的问题,这个还是比较好解决的,还有的是字符加密的问题,需要找到对应的解码文件处理。那么编码比较通用的
出现这种的编码问题 。

<title>工���-工��MRO����讯�������b2b平�</title>
<meta name="keywords" content="å·¥ä¸�å��ç½�,MRO,B2B,仪å�¨ä»ªè¡¨,å®�éª�仪å�¨,å��é¢�å�¨,ç�µç£�é��,æ�§å�¶å�¨,æ°�缸,油缸,伺æ��é��,æ¶²å��æ³µ,滤è�¯,ä¼ æ��å�¨,PLC,ç»§ç�µå�¨,å��é��å�¨,æ¶²ä½�计,ç¼�ç �å�¨,æ�­è·¯å�¨,å®�å
¨æ 
,��计,���"/>
<meta name="description" content="å·¥ä¸�å��ç½�æ�¯å·¥ä¸�å��MROé¢�å��ç��èµ�讯åª�ä½�å��ç�µå­�å��å�¡å¹³b2bå¹³å�°ï¼�ä¸�ä¸�é��å�®ä»ªå�¨ä»ªè¡¨,å®�éª�仪å�¨,å��é¢�å�¨,ç�µç£�é��,è°�å��é��,æ�§å�¶å�¨,æ°�缸,油缸,伺æ��é��,æ¶²å��æ³µ,å�¶ç��æ³µ,æ�±å¡�æ³µ,滤è�¯,ä¼ æ��å�¨,PLC,ç»§ç�µå�¨,å��é��å�¨,æ¶²ä½�计,ç¼�ç �å�¨,æ�­è·¯å�¨,å®�å
¨æ 
,æµ�é��计,å®�ä½�å�¨,æ�§è¡�æ�ºæ��å
¨ç³»å��产å��ã��""/>

第一种 :response.encoding = response.apparent_encoding

response = requests.request("GET", url, headers=headers, data=payload)
response.encoding = response.apparent_encoding

第二种:content utf-8

import requests
res = requests.get("https://www.baidu.com/")
try:
    txt = res.content.decode('gbk')
except UnicodeDecodeError as e:
    # print(e)
    txt = res.content.decode('utf-8')
print(txt)

第三种:chardet

import requests
import chardet
res = requests.get("https://www.baidu.com/")
encoding = chardet.detect(res.content)['encoding']
print(res.content.decode(encoding))


第四种:cchardet

# pip install cchardet

import requests
import cchardet
res = requests.get("https://www.baidu.com/")
encoding = cchardet.detect(res.content)['encoding']
print(res.content.decode(encoding))

第五种:encode + decode


response = requests.request("GET", url, headers=headers, data=payload)
ddd = (response.text).encode('raw_unicode_escape')
dddd = ddd.decode()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容