python单击url下载网页文件_使用不带url的python脚本从网页下载文件,调用onClick函数 - javascript...

有一个网页带有链接“单击下载”,单击该链接可以下载文件。

我可以通过转到网页并单击此链接来手动下载此文件,但是我需要通过python脚本下载此文件。

如果我看到源代码,则可以看到锚标记将运行js函数

Download in csv

但是我不知道csv文件的URL,我正在寻找一种通过python下载的方法。

我知道,如果我们使用httplib拥有url,便可以下载文件,但无法理解如何获取没有url的文件。

尝试添加标题中的一些东西

'Content-Disposition':'attachment; filename =“ data.csv”'}

但它似乎起作用。有任何想法吗 ?

javascript大神给出的解决方案

可以在此处应用两个基本选项:

模仿onclick()调用中涉及的逻辑-在您的情况下,请使用dataform或requests提交mechanize表单

高级方法-使用PhantomJS使真正的浏览器(无头(selenium)与否)自动化-找到链接并单击它:

from selenium import webdriver

driver = webdriver.PhantomJS()

driver.get('url here')

driver.find_element_by_class_name('download-data-link1').click()

不过,据我所知,单击链接将触发一个“下载”浏览器对话框的出现-然后PhantomJS不是一个选项,因为它不支持下载。如果是Chrome或Firefox,则需要调整浏览器功能以自动下载文件而无需打开弹出窗口,请参阅:

Access to file download dialog in Firefox

Firefox + Selenium WebDriver and download a csv file automatically

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值