【发布时间】:2015-03-24 16:39:54
【问题描述】:
有一个网页有一个链接“点击下载”点击一个文件被下载。 我可以通过转到网页并单击此链接手动下载此文件,但是我需要通过 python 脚本下载此文件。
如果我看到源代码,我可以看到锚标记将运行一个 js 函数
<a class="download-data-link1" onclick=" document.forms['dataform'].submit()" style="cursor:pointer; vertical-align: middle;">Download in csv</a>
但我不知道 csv 文件的 url,我正在寻找一种通过 python 下载它的方法。
我知道如果我们有使用 httplib 的 url 但不明白如何获取没有 url 的文件,我们可以下载文件。
尝试了一些东西,比如在标题中添加 '内容处置':'附件;文件名="data.csv"'}
但它似乎有效。有什么想法吗?
【问题讨论】:
-
必须是python?因为链接倾向于(尤其是现在)稍后添加到 DOM 中,或者响应由用户触发的某些事件,这使得无头浏览器成为更好的选择(恕我直言)。我会研究 PhantomJS 或类似工具
-
好吧,即使它不是 python 也可能是我可以从 python 脚本调用的东西。根据您的建议,刚刚看到phantomjs.org。需要进一步研究
-
PhantomJS可以通过selenium自动化——所以它可以是python。 -
@paarthbatra: Selenium + chromedriver 也是一个选项(链接到 2 个脚本:get-drivers 下载您需要的内容,
codeception-start启动/停止 selenium),然后您可以使用该设置用python脚本很容易
标签: javascript python html