Python 使用请求/会话后保存映像
在使用请求/会话“获取”图像后,我对如何保存图像感到非常困惑!请注意,Python 使用请求/会话后保存映像,python,session,python-requests,Python,Session,Python Requests,在使用请求/会话“获取”图像后,我对如何保存图像感到非常困惑!请注意,url、img\u name和img\u end都是上面定义的,它们采用静态url并在末尾添加数字,以请求与这些数字对应的图像 s = requests.Session() s.auth = ('username', 'password') s.headers.update({'x-test': 'true'}) s.get(url+img_name+img_end, headers={'x-test2': 'true'})
url
、img\u name
和img\u end
都是上面定义的,它们采用静态url并在末尾添加数字,以请求与这些数字对应的图像
s = requests.Session()
s.auth = ('username', 'password')
s.headers.update({'x-test': 'true'})
s.get(url+img_name+img_end, headers={'x-test2': 'true'})
如果我做了打印
我会得到
,这会导致我认为我的图像正在下载。但是,如果我执行类似于save\u img=Image.open(s)
的操作,我会得到一个响应,会话没有读取属性。如果有人能解释如何将我请求的图像保存到一个文件中,那将是一件令人惊奇的事情,我是Python新手,这一部分毫无意义。此外,如果我上面的代码是错误的,我基本上是从中复制示例的,因为它是值得的。
是内存中的会话对象本身,与图像无关,所以不要让这让您感到困惑(Python对象的任何实例在内存中都有地址)
get
函数将返回所需的数据,因此您必须使用变量存储数据:
data = s.get(url+img_name+img_end, headers={'x-test2': 'true'})
with open('image', 'wb') as fobj:
fobj.write(data.content)
非常感谢。这似乎是可行的,但是,为什么我输出的文件似乎已损坏和/或不包含真实数据?我无法打开图像,但它是370kb,所以有一些东西?您是否使用正确的文件扩展名保存它,例如open('image.jpg','wb')
?是的,我尝试过.jpg和.png两种格式,我得到的输出是370kb,但没有图像