【问题标题】:Download a CSV file with the help of a button in python借助 python 中的按钮下载 CSV 文件
【发布时间】:2019-01-10 08:03:47
【问题描述】:

不久前我开始使用 python 进行编程,但遇到了一个我被卡住的问题。我尝试从这个页面下载(称为页面上的导出按钮)一个 csv 文件到我的桌面:http://kapar.mavir.hu/kapar/daily-publication.jsp?locale=hu_HU 每天在 python 中。我的问题是,我找到的所有解决方案都是针对在您按下按钮后 url 发生变化的页面,但在这种情况下,按下按钮后 url 没有任何反应,因此就我而言,这些方法不起作用。如何在 python 中编写这个代码(正在使用 python 2.7)?

感谢任何帮助/建议。

提前致谢。

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 假设您已经知道如何使用 requestsurllib 或其他方式下载“东西”,诀窍是找到单击“导出”时调用的“真实”URL "按钮,在你的浏览器中点击F12获取"开发工具",进入"网络"选项卡,点击"导出"按钮你会看到实际的下载链接是这样的http://kapar.mavir.hu/kapar/com.astron.kapar.WebClient/download?f=dpu&fr=20180803&to=20180803&l=HU ...根据需要调整参数。
  • 尝试在 HTLM 中找到导出按钮,然后“点击”(()button = browser.find_element_by_name("button") button.click())、stackoverflow.com/questions/25415405/… - 这个答案和其他随机我在 youtube 上找到的东西。
  • 谢谢。所以理论上你在 urllib 或 requests 中提供的链接应该可以解决问题?
  • 是的,看来您应该修改frto 参数以传递您要导出的日期。

标签: python


【解决方案1】:

请提供您目前拥有的代码。同时;

找出你需要从哪个 URL 获取(如果你还没有的话)(检查 html)

import urllib.request
import urllib.parse

data = urllib.parse.urlencode({...})
data = data.encode('ascii')

with urllib.request.urlopen("http://...", data) as fd:
    print(fd.read().decode('utf-8'))

Also check this post out.

【讨论】:

  • 您的回答很有帮助,如果您能帮助我遇到类似情况 Sam,我将不胜感激。 stackoverflow.com/q/66298758/10939394
猜你喜欢
  • 2019-04-29
  • 2020-10-15
  • 2018-04-06
  • 1970-01-01
  • 1970-01-01
  • 2019-09-15
  • 1970-01-01
  • 1970-01-01
  • 2015-07-13
相关资源
最近更新 更多