使用python登录并下载图像

使用python登录并下载图像,python,login,download,Python,Login,Download,所以,我在这里看到了很多不同的帖子,但是没有任何东西能回答我所有的问题。。 我试图从一个网站下载一张图片,但为了做到这一点,我必须登录到它。我有用户名、电子邮件和密码,还有图像链接。 问题是,我尝试了4-5种不同的脚本,但都不起作用。。一些使用的urllib无法登录,导致图像显示您未登录,一些使用的请求。。我实际上不知道它是否保存了图像,因为我收到的图像已损坏或。。我不知道。。基本上,我应该收到的图像是41.2 kb,而我收到的损坏图像是12 kb。。就这样。。 我目前使用的是,我删除了电子邮件

所以,我在这里看到了很多不同的帖子,但是没有任何东西能回答我所有的问题。。 我试图从一个网站下载一张图片,但为了做到这一点,我必须登录到它。我有用户名、电子邮件和密码,还有图像链接。 问题是,我尝试了4-5种不同的脚本,但都不起作用。。一些使用的urllib无法登录,导致图像显示您未登录,一些使用的请求。。我实际上不知道它是否保存了图像,因为我收到的图像已损坏或。。我不知道。。基本上,我应该收到的图像是41.2 kb,而我收到的损坏图像是12 kb。。就这样。。 我目前使用的是,我删除了电子邮件和密码,并更改了链接

from requests import Session
import shutil
import urllib
block=874
page=1
url1='http://website.com/images/blocks/%s/%s.png'%(str(block),str(page))
url = 'https://website.com/login.php'
s = Session()
s.post(url, {"password":"12345678", "email":"derpty@derp.com", "status":""})
res=s.get(url1,stream=True)
with open('img.png','wb') as out_file:
    res.raw.decode_content = True
    out_file.write(res.content)
del res
现在我对这件事真的很陌生。。我甚至不知道我在这里发布的所有内容是否都有效。。 我想这就是我在这里发帖的原因。。
提前谢谢

看起来是有人选的。在下一行使用res.content时,res.raw.decode_content=True无效。在这种情况下,您也可以删除stream=True。换句话说,要么实现整个流式处理方法并使用shutil.copyfileobjres.raw,out_文件,要么根本不使用流式处理。嗯。。生病的你叫我怎么试就怎么试。。我该怎么做?编辑:我在out_file.write之后添加了一行,现在我得到了一个2KB的损坏图像…?听起来你好像不完全理解这里的过程。您需要发出两个单独的HTTP[s]请求。第一个是登录请求。对该请求的部分响应将是一些身份验证令牌,也就是您的登录cookie。您为实际下载映像而发出的第二个请求将需要以某种形式包含可能在请求头中发送的相同身份验证令牌。您可以使用浏览器的开发人员工具了解如何从登录响应中获取身份验证令牌,以及如何将其提交回网站,然后再尝试对其进行编码。有关何处/如何……的详细信息。。?我有点明白你想告诉我什么,但我不知道怎么做