【问题标题】:Web Scraping - Downloading Zip File网页抓取 - 下载 Zip 文件
【发布时间】:2018-09-14 21:59:19
【问题描述】:

我正在尝试从一个网站下载一堆 PDF 文件,这些文件与 python 捆绑在一个 zip 文件中。要下载 zip 文件,我单击一个下载按钮,该按钮会出现一个弹出窗口(我认为这对问题并不重要,但为了完整起见,我将包括它)。当按下下载按钮并出现弹出窗口时,Chrome 会显示此内容:

然后我必须单击弹出窗口中的下载按钮才能真正开始下载。如下:

我非常确信第一个请求是唯一重要的请求。如果我们查看这个 POST 请求的标头,我们会看到:

此请求所需的所有 POST 数据都可以从之前的 HTML 页面中抓取,但下载的ZipToken 除外。此令牌仅在我单击弹出窗口上的下载按钮后生成/添加到 html 表单中,您可以看到它作为 cookie 在响应标头中返回给我。

所以总结一下。为了让 python 脚本为我下载 zip 文件,我相信我必须模仿这个我无法做到的 POST 请求,因为最初无法访问 zip 令牌。如果这令人困惑,我深表歉意。如果需要更多信息,请告诉我。

【问题讨论】:

  • 尝试在this example 等来源中搜索令牌。这个例子只是展示了方法。
  • @omegastripes 谢谢!我查看了示例,如果您有时间,我会向您发送一封包含一些具体问题的电子邮件。

标签: post web-scraping zip


【解决方案1】:

我在原始问题中找不到的 downloadZipToken POST 数据原来是一个 unix 时间戳,这对于为什么我在 HTML 源代码中找不到它更有意义。我假设它是在发送 POST 请求后由一些 JS 脚本生成的。为了编写我的 python 代码,我刚刚使用

生成了一个 unix 时间戳
timeStamp = math.ceil(time.time()*1000)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多