超快下载fnl脚本

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!")

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值