找回密码
 注册
关于网站域名变更的通知
查看: 624|回复: 1
打印 上一主题 下一主题

利用Matlab进行批量下载网络数据

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-21 10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
matlab读取网络数据的能力和python相比太弱了,python有很多开源工具包,功能非常强大。其实以前批量下载数据都是用python语言写的,但是现在因为工作需要每天都要用matlab,所以尝试用matlab写个小程序批量下载网络数据。要下载的数据网址是:) C$ j5 |. B! L  n' a' r) J' ?4 _7 j9 o

# O4 I) T  u# vhttp://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/godas/catalog.html
# W5 m7 [" d! R: u8 B
- p' R8 ]+ q6 K要下载的数据如下:pottmp.1980.nc到pottmp.2016.nc,共37个nc文件
6 f& N2 y8 A! }! W2 ]/ z& t0 Z. C8 G3 }
程序如下,核心函数是urlwrite* i/ `1 H- s6 P8 _( T; j
& ?. @$ d* u4 f4 c
filepath='D:用户目录Desktoppottmp';
# r1 l2 @$ m" umkdir(filepath); %在桌面创建文件夹pottmp! t5 |% V- M8 G5 s  H& L; f: j
& R3 h6 F/ `9 ~4 R4 n8 n0 O! X
for i=1980:2016
/ A; ]6 S% R# Y" AfullURL=['http://www.esrl.noaa.gov/psd/thredds/fileServer/Datasets/godas/pottmp.',num2str(i),'.nc'];%下载网址/ N) p; ?# A! a, U
filename=[filepath,'pottmp.',num2str(i),'.nc']; %保存的文件名1 |- ]! C2 |$ O7 J7 V, P
tic;
- W+ W  f) W7 L8 k2 O! [: Q[f,status]=urlwrite(fullURL,filename);%下载命令2 T5 L; q' \( N2 p
if status==1* D, S# V5 M% s
    t=toc;
0 ^. t' L& G: j+ S    lst=dir(filename);
" o* ~3 U* u) k3 P0 k7 D2 R    xi=lst.bytes;& m6 r) i9 y  D, S- x& _' z) V
    disp(['pottmp.',num2str(i),'.nc','下载成功','文件大小为',num2str(xi/1024/1024),'M','  花费',num2str(t/60),'分钟']);
% B" T2 n0 M- o7 Telse
" m% y1 d( `# b    disp(['pottmp.',num2str(i),'.nc','下载失败']);3 K  G9 j0 v" |7 i' S' ?& t  i
end, t; e; @% `  [. G0 H" a
end' [6 z: H4 K1 B
2 M  `* u6 n6 F. n; b

该用户从未签到

2#
发表于 2020-1-21 17:51 | 只看该作者
利用Matlab进行批量下载网络数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-20 20:34 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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