爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4716|回复: 0

[程序设计] Mtalab利用url批量下载数据

[复制链接]

新浪微博达人勋

发表于 2022-4-8 12:18:34 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我们在进行科学研究的时候需要用到来对自己的猜想进行验证,在验证的过程中需要各种各样的数据,这时候就需要从公开数据网站上下载数据,但是一般网站没有批量下载选项,所以以下载HYCOM的GLBv0.08为例,编写了利用Matlab下载数据的算例。

clear;clc;
filepath='F:\Philippine-sea-numerical-modeling\HYCOMGOFS3.1\GLBv0.08\';
Btime=datenum(2006,1,1,0,0,0);
Etime=datenum(2015,12,30,0,0,0);
Ltime=Btime:1:Etime;
Llon=106;
Rlon=151;
Ulat=36;
Dlat=-1;
% contnum = 1;
% load('contnum.mat')

filelist = dir([filepath,'*.nc']);
for i = 1:length(filelist)
    Ltime(Ltime==datenum(filelist(i).name(1:end-3))) = [];
end


for i=1:length(Ltime)
    datestr(now,31)
    %uvel

    fullURL=['];%下载网址具体见附件
    filename=[filepath,datestr(Ltime(i),29),'.nc']; %保存的文件名
    tic;
    [~,status]=urlwrite(fullURL,filename,'Timeout',120);%下载命令
%     options = weboptions('Timeout',120);
%     status=websave(filename,fullURL,options);%下载命令
    if length(status)>1
        status=1;
    end
    if status==1
        t=toc;
       lst=dir(filename);
       xi=lst.bytes;
       disp([datestr(Ltime(i),29),'.nc','下载成功','文件大小为',num2str(xi/1024/1024),'M',' 花费',num2str(t/60),'分钟']);
    else
       disp([datestr(Ltime(i),29),'.nc','下载失败']);
    end

    datestr(now,31)
end


密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表