import requests
import datetime
def builtSession():
email = " " #此处改为注册邮箱
passwd = " " #此处为登陆密码
loginurl = "https://rda.ucar.edu/cgi-bin/login"
params = {"email":email, "password":passwd, "action":"login"}
sess = requests.session()
sess.post(loginurl,data=params)
return sess
def download(sess, dt):
g1 = datetime.datetime(1999,7,30,18)
g2 = datetime.datetime(2007,12,6,12)
if dt >= g2:
suffix = "grib2"
elif dt >= g1 and dt <g2:
suffix = "grib1"
else:
raise StandardError("DateTime excess limit")
url = "http://rda.ucar.edu/data/ds083.2"
folder = "{}/{}/{}.{:0>2d}".format(suffix, dt.year, dt.year, dt.month)
filename = "fnl_{}.{}".format(dt.strftime('%Y%m%d_%H_00'), suffix)
fullurl = "/".join([url, folder, filename])
r = sess.get(fullurl)
with open(filename, "wb") as fw:
fw.write(r.content)
print(filename + " downloaded")
if __name__ == '__main__':
print("downloading...")
s = builtSession()
for i in range(40): #共下载多少个时次
startdt = datetime.datetime(2020, 8, 12, 18) #开始时次
interval = datetime.timedelta(hours = i * 6)
dt =startdt + interval
download(s,dt)
print("download completed!")
超快下载fnl脚本
于 2024-06-21 11:36:44 首次发布