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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
matlab读取网络数据的能力和python相比太弱了,python有很多开源工具包,功能非常强大。其实以前批量下载数据都是用python语言写的,但是现在因为工作需要每天都要用matlab,所以尝试用matlab写个小程序批量下载网络数据。要下载的数据网址是:
, f% H1 o+ j) \# F% i$ A& t
+ X! }; {* Q) W0 W* W" u9 Qhttp://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/godas/catalog.html
( \4 S! t# a$ v6 `' z) k, c! ?. h4 Q. o" L% Z) |" V, Z
要下载的数据如下:pottmp.1980.nc到pottmp.2016.nc,共37个nc文件8 D/ d5 V3 X  ?) U8 `: n+ w' S( P
+ I) d5 D0 Z- P
程序如下,核心函数是urlwrite
' M* l( g1 ]  L1 j
8 C* v; g$ R( _$ jfilepath='D:用户目录Desktoppottmp';
. J( ?! S5 o/ wmkdir(filepath); %在桌面创建文件夹pottmp: C, k% r! H1 G5 ?
! b/ V$ w$ T/ ^/ Z* I, u6 x
for i=1980:2016, p& R1 J3 V3 f4 o# d  E
fullURL=['http://www.esrl.noaa.gov/psd/thredds/fileServer/Datasets/godas/pottmp.',num2str(i),'.nc'];%下载网址1 F2 Z4 m; m* g- D$ ?# |
filename=[filepath,'pottmp.',num2str(i),'.nc']; %保存的文件名5 s9 }, T3 g9 }, G& }( q
tic;1 B' I1 |  l8 f0 O' h1 s. ^' V
[f,status]=urlwrite(fullURL,filename);%下载命令
3 C+ e# E) g6 H% P  ^3 T8 Rif status==1% T4 a0 {% u# D
    t=toc;
0 e5 O. z( ?! D, ?- p6 c    lst=dir(filename);! ?- C% B: h' D5 y  x0 k: t0 X
    xi=lst.bytes;( s3 E4 @' Z& Z4 D/ R* w7 W- \
    disp(['pottmp.',num2str(i),'.nc','下载成功','文件大小为',num2str(xi/1024/1024),'M','  花费',num2str(t/60),'分钟']);+ }( T; E9 n6 m5 w1 ^# Y
else2 ]$ ~$ N/ K# F8 O- M: q- D% E' I
    disp(['pottmp.',num2str(i),'.nc','下载失败']);
1 y( W0 N: [. M6 m/ k9 y2 E/ j8 Iend- }* B8 h8 l2 y# D
end
! C- p4 g5 u" P9 g0 K& V+ p1 |1 a  Q0 ~' q

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 00:23 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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