首页 > 解决方案 > 从 Python 中的 url 保存“另存为”重定向

问题描述

我正在尝试做的...

我正在尝试从不重定向 URL 的 URL 自动下载 zip 文件,而是在您打开 URL 时打开“另存为”提示。

我尝试过的...

“Urllib request”、“Wget”和“Requests”库都给了我一个 1KB 的文件,在文本编辑器中显示为“Invalid request”。这可能是有道理的,因为我输入的网站 URL 默认为空白,我不相信它会将 URL 重定向到任何地方,因为我使用“请求”库有“allow_redirects = True”。我相信此链接使用 JavaScript 重定向到“另存为”,当我单击它并前往下载(在 Chrome 中)并看到该文件有一个下载链接时。此下载链接似乎始终有效,但我不确定如何使用 Python 获取它。

引导...

在 Stack Overflow 中找到了关于使用库“Spynner”的线索,但我不确定如何以及为什么会解决我的问题。

我正在使用 Python 3.8.2

标签: pythonweb-scrapingzip

解决方案


你需要一个网页抓取工具。他们通常有无头浏览器以及“像机器人一样”人类行为所需的一切。我会推荐 Selenium,因为你可以直接从 python 中使用它;这是一个示例:文件管理 Selenium

请注意,网络抓取并不完全合法,因此您应该有权在任何网络服务上使用它。谨慎行事。


推荐阅读