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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
matlab读取网络数据的能力和python相比太弱了,python有很多开源工具包,功能非常强大。其实以前批量下载数据都是用python语言写的,但是现在因为工作需要每天都要用matlab,所以尝试用matlab写个小程序批量下载网络数据。要下载的数据网址是:
5 U/ N9 y6 q9 c; r1 W  ^7 D9 K4 E- m" @
http://www.esrl.noaa.gov/psd/thredds/catalog/Datasets/godas/catalog.html- B) w$ ^. M5 j! m3 L0 p/ N
$ W5 `, r. c) C. K0 _' Z- t, ]& Z
要下载的数据如下:pottmp.1980.nc到pottmp.2016.nc,共37个nc文件* E$ D8 u* k9 l2 L/ `, D5 i
( f' i! d7 U0 ]( A5 Y. o
程序如下,核心函数是urlwrite0 Q- I  f3 k( H) c
+ o! n" f9 v& ~- n0 x; t
filepath='D:用户目录Desktoppottmp';
! ~4 O& p/ v9 i6 R" |8 p: hmkdir(filepath); %在桌面创建文件夹pottmp
9 b" x+ e. R2 O) _& U; R1 v! n6 Q/ d8 [7 ?3 [/ H3 g
for i=1980:2016/ b7 s% q  ]1 t, `
fullURL=['http://www.esrl.noaa.gov/psd/thredds/fileServer/Datasets/godas/pottmp.',num2str(i),'.nc'];%下载网址
2 W* S' Q# y/ e2 v/ `) [4 l0 e3 [filename=[filepath,'pottmp.',num2str(i),'.nc']; %保存的文件名2 r- L6 |2 B3 V6 E2 i2 h) W0 R
tic;
) @& Y9 z+ s# M/ q" p[f,status]=urlwrite(fullURL,filename);%下载命令
3 e8 e" @! V' wif status==14 A5 p/ c$ n+ O9 Q
    t=toc;( A: }- a: x; p% O' c' Q
    lst=dir(filename);
% q) @: u6 s! u# A. o/ M3 P/ i    xi=lst.bytes;
# g+ u. ~  _) Y0 @7 X8 ^    disp(['pottmp.',num2str(i),'.nc','下载成功','文件大小为',num2str(xi/1024/1024),'M','  花费',num2str(t/60),'分钟']);
( ?$ O( D; D2 R1 R8 Nelse) A4 r* m! y5 t8 P2 E
    disp(['pottmp.',num2str(i),'.nc','下载失败']);
! y' Y; ^- }' t+ S: Cend
2 v, Y( t3 L) l& mend! j/ x3 f* P7 u0 s

& p+ c* t2 Z: ]

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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