python 爬虫编码(encoding和apparent_encoding)区别

前言

在爬虫有时会遇到类似好å�¬ç��é�³ä¹�ï¼�好ç��ç��MVé�½å�¨è¿�é��äº�ï¼�å��欢记å¾�ç»�æ��ä¸�ä¸ªå ³æ³¨å�¦ï¼�格式的编码,很是头疼。如何解决这种问题呢?下面来看一下编码方法

requests编码

属性 说明
r.encoding 从http header中提取响应内容编码
r.apparent_encoding 从内容中分析出的响应内容编码
  • encoding是从http中的header中的charset字段中提取的编码方式,若header中没有charset字段则默认为ISO-8859-1编码模式,则无法解析中文,这是乱码的原因。
  • apparent_encoding会从网页的内容中分析网页编码的方式,所以apparent_encoding比encoding更加准确。当网页出现乱码时可以把apparent_encoding的编码格式赋值给encoding。

解决乱码

import requests
url = "********"
reqs= requests.get(url)
reqs.encoding = reqs.apparent_encoding 
print(reqs.text)

你可能感兴趣的:(python 爬虫编码(encoding和apparent_encoding)区别)