设置响应对象的编码格式
爬虫爬取到的数据乱码?
方式一:在发送请求完获取响应对象response对象后,需要对response对象设置编码格式
response.encoding = response.apparent_encoding
其中response.apparent_encoding为获取响应对象的编码格式
response.encoding为设置对象的编码格式
# 网页源码
response = requests.get(url, headers)
# 设置响应对象的编码格式
# response.encoding = 'gzip'
response.encoding = response.apparent_encoding
page_data = response.text
etree = etree.HTML(page_data)
方式二:对乱码的数据单独处理(通用处理中文乱码的解决方案)
我们拿到响应对象后,通过xpath解析完毕,获取到需要的数据,单独对乱码的数据进行处理。
先处理成iso再decode成gbk
img_name = img_name.encode('iso-8859-1').decode('gbk')
其中img_name为乱码的中文数据