python - 从 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
解决方案
你需要一个网页抓取工具。他们通常有无头浏览器以及“像机器人一样”人类行为所需的一切。我会推荐 Selenium,因为你可以直接从 python 中使用它;这是一个示例:文件管理 Selenium。
请注意,网络抓取并不完全合法,因此您应该有权在任何网络服务上使用它。谨慎行事。
推荐阅读
- c++ - C ++:相同命名空间中类名的标识符未定义
- gradle - gradle init 脚本无法应用工件插件
- javascript - 无法 POST /login - POST http://localhost:3000/login 404(未找到)
- python - 有什么办法可以让 vs 代码格式化和正确处理 django 模板?
- javascript - 解析时识别 JSON 对象内部的所有错误,而不是仅识别 1 个错误(识别的错误必须告诉行号)
- javascript - this.foo = bar 和 Object.defineProperties(this
- r - 如何从R中的一列创建两列?
- javascript - 在我的网页上添加动态图像,最好使用 JavaScript (SharePoint)
- flutter - 如何在flutter Dio包中的formData中发布对象?
- if-statement - 'if 语句'(Pine)的定义问题