Requests.get(url,params=params)
Requests中解决解码的方法
response=requests.get('https://www.ssyer.com/')
response.content.decode() #推荐这种方式获取网页数据
response.content.decode('gbk')
response.text
-
使用response.text 时,Requests 会基于 HTTP 响应的文本编码自动解码响应内容,大多数 Unicode 字符集都能被无缝地解码。若accept-encoding 不存在,则会使用 chardet.detect来尝试猜测编码方式(存在误差)
-
Requests使用response.content 时,返回的是服务器响应数据的原始二进制字节流,可以用来保存图片等二进制文件。(requests自带解压压缩网页的功能,推荐response.content.deocde()
例子:
#coding=utf-8
import requests
response = requests.get("http://www.sina.com")
print(response.request.headers)
print(response.content.decode())
from io import BytesIO,StringIO
# StringIO:内存中读写str。
# BytesIO:内存中读写bytes类型的二进制数据
# import requests
from PIL import Image
img_url = "https://ssyerv1.oss-cn-hangzhou.aliyuncs.com/picture/440677cccbce4675b7866611a0c6fad7.jpg!sswm"
response = requests.get(img_url)
f = BytesIO(response.content)
img = Image.open(f)
print(img.size)