Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python请求模块未遵循文件下载重定向_Python_Python Requests - Fatal编程技术网

Python请求模块未遵循文件下载重定向

Python请求模块未遵循文件下载重定向,python,python-requests,Python,Python Requests,正在尝试从以下链接自动下载.zip文件(链接将始终不同,但始终采用此格式): 如果将此链接输入web浏览器,它将下载一个名为“Badges.zip”的文件。当尝试使用下面的代码从Python下载它时,它会保存到Badges.zip,但.zip不是一个归档文件。这是一些谷歌分析代码。这就像请求模块没有完全重定向到文件一样。我试过获取、head、尝试流式下载以及其他很多方法,但我无法让它正确下载文件。以下是我正在使用的当前代码: import requests url = "https:

正在尝试从以下链接自动下载.zip文件(链接将始终不同,但始终采用此格式):

如果将此链接输入web浏览器,它将下载一个名为“Badges.zip”的文件。当尝试使用下面的代码从Python下载它时,它会保存到Badges.zip,但.zip不是一个归档文件。这是一些谷歌分析代码。这就像请求模块没有完全重定向到文件一样。我试过获取、head、尝试流式下载以及其他很多方法,但我无法让它正确下载文件。以下是我正在使用的当前代码:

import requests
url = "https://schools.clever.com/files/badges.zip?fromEmail=1&randomID=5f9cffb0ee8c81418ac2e019"
r = requests.get(url, allow_redirects=True)
open('c:/data/Badges.zip', 'wb').write(r.content)
我愿意接受任何想法。已经尝试了其他模块并获得了类似的结果。如果需要的话,我甚至愿意启动外部实用程序,比如wget或curl(我还没有任何运气)

请注意,此下载中的智能徽章已作废,以防使用


谢谢

我点击了链接,这是一个登录页面。我认为你需要一个直接链接到你想要下载的文件。此页面可在不询问的情况下启动下载,但它不是直接文件link.Doh。你说得对。我没有意识到这需要身份验证。在尝试所有这些之前,我想我已经注销了所有内容,但我的凭据仍然被缓存。即使我必须通过Selenium或其他方式进行验证,我也会完成验证工作。谢谢你的检查!也许他们有某种api可以直接下载带有令牌的文件,而不必每次都登录。我认为你需要一个直接链接到你想要下载的文件。此页面可在不询问的情况下启动下载,但它不是直接文件link.Doh。你说得对。我没有意识到这需要身份验证。在尝试所有这些之前,我想我已经注销了所有内容,但我的凭据仍然被缓存。即使我必须通过Selenium或其他方式进行验证,我也会完成验证工作。谢谢你的检查!也许他们有某种api可以直接下载带有令牌的文件,而不必每次都登录。