【问题标题】:Automatically download cdf files from specific website in Python在 Python 中自动从特定网站下载 cdf 文件
【发布时间】:2020-09-17 13:34:22
【问题描述】:

我想创建一个可以从这个网站下载特定 CDF 文件的程序:

http://research.ssl.berkeley.edu/data/psp/data/sci/fields/l2/mag_RTN_4_Sa_per_Cyc/2018/10/

例如,我希望用户被询问他想下载哪个特定日期以及下载文件并将其存储为数据的程序。

在此站点中,所有文件名都以日期结尾。例如:

psp_fld_l2_mag_RTN_4_Sa_per_Cyc_20181003_v01.cdf

其中,20181003 表示 2018/10/03(日期)

这可能吗?

【问题讨论】:

  • 确实有可能。你试过什么?
  • @Yash 我刚开始使用 Python,不幸的是我什至不知道如何开始!

标签: python numpy url download


【解决方案1】:

因为这是一个静态网站,并且不涉及加载文件的 javascript,您可以继续请求从 url 获取 html 使用 r = requests.get(url)

然后你可以继续使用beautifulsoup的网页抓取获取所有链接,最后使用

r = requests.get(fetched_url,allow_redirects=True)

open(filename,'wb').write(r.content)

【讨论】:

  • 非常感谢!但是,这不会下载所有的填充物吗?如果我想根据用户喜欢的日期一次下载一个文件怎么办?
  • 这将一次下载一个文件。如果您想要所有文件,请将 beautifulsoup 中的所有链接添加到列表中,然后使用循环下载每个链接。
  • 但是我必须在 open(filename,'wb').write(r.content) 中指定文件名,对吗?有没有办法询问用户他想要哪个日期然后找到特定文件的代码?非常感谢!
  • @Jokerp 当然。使用input() 请求用户输入,并随心所欲地操作数据。
  • 谢谢@Yash 你能提供一个小代码来说明我是如何做到这一点的吗?我真的做不到!再次感谢
猜你喜欢
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
  • 2020-11-23
  • 2019-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多