网页抓取-下载Zip文件

时间:2018-09-11 18:19:06

标签: post web-scraping zipfile

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

enter image description here

enter image description here

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

enter image description here

我非常有信心,第一个请求是唯一重要的请求。如果我们查看此POST请求的标头,则会看到以下内容:

enter image description here enter image description here

此请求所需的所有POST数据都可以从上一个HTML页面中抓取,除了downloadedZipToken之外。只有在我单击弹出窗口上的“下载”按钮后,该令牌才会生成/添加到html表单中,您可以看到它在响应标头中以cookie的形式返回给我。

所以总结一下。为了让python脚本为我下载zip文件,我相信我必须模仿这个POST请求,但由于最初无法访问zip令牌,所以我无法执行该请求。如果这令人困惑,我深表歉意。请让我知道是否需要更多信息。

1 个答案:

答案 0 :(得分:1)

我在原始问题中找不到的downloadZipToken POST数据原来是unix时间戳,这对于为什么我无法在HTML源代码中找到它更有意义。我认为一旦发送POST请求,它就由某些JS脚本生成。要编写我的python代码,我只是使用

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