对requests获取的原始数据,有两种获取形式,一个是test.content,一个是test.text
二者的区别在于content返回的是byte型数据,而text返回的是Unicode数据,
也就是说text对原始数据进行的特殊的编码,而这个编码方式是基于对原始数据的猜测(响应头)
text返回的是unicode 型的数据,一般是在网页的header中定义的编码形式。
content返回的是bytes,二级制型的数据。
但是对于某些网站的中文用text可能会导致返回乱码,所以最好是使用content然后自己进行重新编码,而且如果你想要提取图片、文件,也要用到content
- content打印的是原始编码(即初始的编码)
import requests
url = 'http://www.pocketuni.net/'
response = requests.get(url)
print (response.content)
- 使用text返回的是unicode 型的数据,一般是在网页的header中定义的编码形式
import requests
url = 'http://www.pocketuni.net/'
response = requests.get(url)
print(response.text)
response.text(会基于爬取的网页猜测解码类型) 和 response.content.decode(‘utf-8’) 效果相同
print(response.content.decode('utf-8'))