我在编写可以执行以下操作的过程或脚本时遇到了一些问题:
我需要从以下网址获取数据:
nomads.ncep.noaa.gov/dods/gfs_hd/gfs_hd20140430/gfs_hd_00z
但是文件的URL(日期和模型运行时间会发生变化),因此它必须假设变量的基本结构。在
^{pr2}$是这样的:
nomads.ncep.noaa.gov/dods/gfs_hd/gfs_hdYYYYMMDD/gfs_hd_CCz
此脚本将运行,然后导入该日期(在YYYYMMDD和CC中),并将这些变量编码为-
所以当我们的任务是
http://nomads.ncep.noaa.gov/dods/gfs_hd/gfs_hd20140430/gfs_hd_00z
而这些变量对应于以以下格式获取当前日期:
http://nomads.ncep.noaa.gov/dods/gfs_hd/gfs_hdYYYYMMDD/gfs_hd_CCz
你能告诉我如何使用这个格式找到最新的日期吗?不管是剧本还是wget的什么东西,我都洗耳恭听。提前谢谢你。在
我将尝试在http://nomads.ncep.noaa.gov/dods/gfs_hd处将索引提升一级;特定表单的最后一个链接应该会将您带到每日下载页面,在那里您可以执行类似的操作。在
以下是对每日下载页面的截图:
当然,用最后30个字母刮掉这一页也很相似。在
最简单的解决方案是镜像父目录:
但是,如果您只需要最新的日期,可以使用^{} ,如^{} 所示
^{pr2}$2014年5月23日,产出:
在
Python
中,requests
库可用于获取URL。在您可以使用基本URL字符串的组合来生成URL,并使用
datetime
类及其timedelta
方法及其strftime
方法生成所需格式的日期。在也就是说,首先用
datetime.datetime.now()
获取当前时间,然后在一个循环中通过timedelta
减去一小时(或者你认为他们正在使用的任何时间梯度),然后继续用requests
库检查URL。你看到的第一个是最新的一个,然后你可以对它做任何进一步的处理。在如果您需要刮取页面的内容,
scrapy
非常适合。在相关问题 更多 >
编程相关推荐